﻿2026-06-05T02:56:35.4373331Z ##[group]Run ./traceable-reqs check --json
2026-06-05T02:56:35.4374300Z [36;1m./traceable-reqs check --json[0m
2026-06-05T02:56:35.4395623Z shell: /usr/bin/bash -e {0}
2026-06-05T02:56:35.4396363Z ##[endgroup]
2026-06-05T02:56:35.4616492Z {
2026-06-05T02:56:35.4617588Z   "schemaVersion": 1,
2026-06-05T02:56:35.4618306Z   "summary": {
2026-06-05T02:56:35.4618962Z     "requirementCount": 135,
2026-06-05T02:56:35.4619803Z     "completeCount": 135,
2026-06-05T02:56:35.4620528Z     "incompleteCount": 0,
2026-06-05T02:56:35.4621232Z     "findingCount": 0
2026-06-05T02:56:35.4621877Z   },
2026-06-05T02:56:35.4622471Z   "requirements": [
2026-06-05T02:56:35.4623111Z     {
2026-06-05T02:56:35.4623775Z       "id": "REQ-API-1",
2026-06-05T02:56:35.4624727Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-05T02:56:35.4625789Z       "requiredStages": [
2026-06-05T02:56:35.4626462Z         "impl",
2026-06-05T02:56:35.4627077Z         "unit",
2026-06-05T02:56:35.4627714Z         "int"
2026-06-05T02:56:35.4628445Z       ],
2026-06-05T02:56:35.4629020Z       "stages": {
2026-06-05T02:56:35.4629710Z         "doc": {
2026-06-05T02:56:35.4630392Z           "complete": false,
2026-06-05T02:56:35.4631155Z           "evidence": []
2026-06-05T02:56:35.4631843Z         },
2026-06-05T02:56:35.4632429Z         "impl": {
2026-06-05T02:56:35.4633092Z           "complete": true,
2026-06-05T02:56:35.4633817Z           "evidence": [
2026-06-05T02:56:35.4634486Z             {
2026-06-05T02:56:35.4635171Z               "path": "crates/spt/src/api/mod.rs",
2026-06-05T02:56:35.4636016Z               "line": 15
2026-06-05T02:56:35.4636679Z             }
2026-06-05T02:56:35.4637319Z           ]
2026-06-05T02:56:35.4637901Z         },
2026-06-05T02:56:35.4638482Z         "int": {
2026-06-05T02:56:35.4639131Z           "complete": true,
2026-06-05T02:56:35.4639902Z           "evidence": [
2026-06-05T02:56:35.4640564Z             {
2026-06-05T02:56:35.4641354Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T02:56:35.4642332Z               "line": 13
2026-06-05T02:56:35.4643093Z             }
2026-06-05T02:56:35.4643771Z           ]
2026-06-05T02:56:35.4644416Z         },
2026-06-05T02:56:35.4645056Z         "unit": {
2026-06-05T02:56:35.4645808Z           "complete": true,
2026-06-05T02:56:35.4646609Z           "evidence": [
2026-06-05T02:56:35.4647337Z             {
2026-06-05T02:56:35.4648074Z               "path": "crates/spt/src/api/mod.rs",
2026-06-05T02:56:35.4649301Z               "line": 403
2026-06-05T02:56:35.4650113Z             },
2026-06-05T02:56:35.4650745Z             {
2026-06-05T02:56:35.4651414Z               "path": "crates/spt/src/api/mod.rs",
2026-06-05T02:56:35.4652268Z               "line": 409
2026-06-05T02:56:35.4652912Z             },
2026-06-05T02:56:35.4653520Z             {
2026-06-05T02:56:35.4654297Z               "path": "crates/spt/src/api/mod.rs",
2026-06-05T02:56:35.4655086Z               "line": 429
2026-06-05T02:56:35.4655713Z             }
2026-06-05T02:56:35.4656276Z           ]
2026-06-05T02:56:35.4688199Z         }
2026-06-05T02:56:35.4688831Z       }
2026-06-05T02:56:35.4689632Z     },
2026-06-05T02:56:35.4690333Z     {
2026-06-05T02:56:35.4690874Z       "id": "REQ-API-2",
2026-06-05T02:56:35.4691882Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-05T02:56:35.4692995Z       "requiredStages": [
2026-06-05T02:56:35.4693640Z         "impl",
2026-06-05T02:56:35.4694208Z         "unit",
2026-06-05T02:56:35.4694782Z         "int"
2026-06-05T02:56:35.4695323Z       ],
2026-06-05T02:56:35.4695852Z       "stages": {
2026-06-05T02:56:35.4696424Z         "doc": {
2026-06-05T02:56:35.4697014Z           "complete": false,
2026-06-05T02:56:35.4697682Z           "evidence": []
2026-06-05T02:56:35.4698286Z         },
2026-06-05T02:56:35.4698822Z         "impl": {
2026-06-05T02:56:35.4699613Z           "complete": true,
2026-06-05T02:56:35.4700342Z           "evidence": [
2026-06-05T02:56:35.4700973Z             {
2026-06-05T02:56:35.4702328Z               "path": "crates/spt-store/src/history.rs",
2026-06-05T02:56:35.4703181Z               "line": 15
2026-06-05T02:56:35.4704022Z             },
2026-06-05T02:56:35.4704610Z             {
2026-06-05T02:56:35.4705279Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T02:56:35.4706117Z               "line": 20
2026-06-05T02:56:35.4706766Z             },
2026-06-05T02:56:35.4707340Z             {
2026-06-05T02:56:35.4708005Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T02:56:35.4708843Z               "line": 125
2026-06-05T02:56:35.4709710Z             },
2026-06-05T02:56:35.4710271Z             {
2026-06-05T02:56:35.4710917Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.4711731Z               "line": 21
2026-06-05T02:56:35.4712346Z             },
2026-06-05T02:56:35.4712907Z             {
2026-06-05T02:56:35.4713567Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.4714372Z               "line": 38
2026-06-05T02:56:35.4715002Z             },
2026-06-05T02:56:35.4715556Z             {
2026-06-05T02:56:35.4716233Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.4717092Z               "line": 172
2026-06-05T02:56:35.4717722Z             },
2026-06-05T02:56:35.4718291Z             {
2026-06-05T02:56:35.4718950Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.4720158Z               "line": 211
2026-06-05T02:56:35.4720786Z             },
2026-06-05T02:56:35.4721344Z             {
2026-06-05T02:56:35.4721995Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.4722819Z               "line": 241
2026-06-05T02:56:35.4723437Z             },
2026-06-05T02:56:35.4724011Z             {
2026-06-05T02:56:35.4724660Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T02:56:35.4725462Z               "line": 17
2026-06-05T02:56:35.4726082Z             },
2026-06-05T02:56:35.4726636Z             {
2026-06-05T02:56:35.4727284Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T02:56:35.4728087Z               "line": 30
2026-06-05T02:56:35.4728747Z             },
2026-06-05T02:56:35.4729557Z             {
2026-06-05T02:56:35.4730643Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T02:56:35.4731597Z               "line": 63
2026-06-05T02:56:35.4732378Z             },
2026-06-05T02:56:35.4733062Z             {
2026-06-05T02:56:35.4733743Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T02:56:35.4734579Z               "line": 76
2026-06-05T02:56:35.4735221Z             }
2026-06-05T02:56:35.4736104Z           ]
2026-06-05T02:56:35.4736698Z         },
2026-06-05T02:56:35.4737259Z         "int": {
2026-06-05T02:56:35.4737873Z           "complete": true,
2026-06-05T02:56:35.4738562Z           "evidence": [
2026-06-05T02:56:35.4739248Z             {
2026-06-05T02:56:35.4740536Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T02:56:35.4741384Z               "line": 14
2026-06-05T02:56:35.4742039Z             },
2026-06-05T02:56:35.4742601Z             {
2026-06-05T02:56:35.4743285Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T02:56:35.4744115Z               "line": 151
2026-06-05T02:56:35.4744739Z             }
2026-06-05T02:56:35.4745291Z           ]
2026-06-05T02:56:35.4745825Z         },
2026-06-05T02:56:35.4746374Z         "unit": {
2026-06-05T02:56:35.4746983Z           "complete": true,
2026-06-05T02:56:35.4747642Z           "evidence": [
2026-06-05T02:56:35.4748262Z             {
2026-06-05T02:56:35.4748927Z               "path": "crates/spt-store/src/history.rs",
2026-06-05T02:56:35.4750132Z               "line": 42
2026-06-05T02:56:35.4750762Z             },
2026-06-05T02:56:35.4751315Z             {
2026-06-05T02:56:35.4751964Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T02:56:35.4752776Z               "line": 234
2026-06-05T02:56:35.4753401Z             },
2026-06-05T02:56:35.4753956Z             {
2026-06-05T02:56:35.4755010Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.4755838Z               "line": 410
2026-06-05T02:56:35.4756633Z             },
2026-06-05T02:56:35.4757201Z             {
2026-06-05T02:56:35.4757875Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.4758712Z               "line": 421
2026-06-05T02:56:35.4759671Z             },
2026-06-05T02:56:35.4760591Z             {
2026-06-05T02:56:35.4761244Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.4762066Z               "line": 527
2026-06-05T02:56:35.4762686Z             },
2026-06-05T02:56:35.4763245Z             {
2026-06-05T02:56:35.4763911Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.4764732Z               "line": 539
2026-06-05T02:56:35.4765346Z             },
2026-06-05T02:56:35.4765903Z             {
2026-06-05T02:56:35.4766553Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T02:56:35.4767349Z               "line": 141
2026-06-05T02:56:35.4767987Z             },
2026-06-05T02:56:35.4768544Z             {
2026-06-05T02:56:35.4769249Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T02:56:35.4770459Z               "line": 176
2026-06-05T02:56:35.4771086Z             }
2026-06-05T02:56:35.4771630Z           ]
2026-06-05T02:56:35.4772162Z         }
2026-06-05T02:56:35.4772686Z       }
2026-06-05T02:56:35.4773200Z     },
2026-06-05T02:56:35.4773716Z     {
2026-06-05T02:56:35.4774259Z       "id": "REQ-API-3",
2026-06-05T02:56:35.4775080Z       "title": "commune/signoff are file-drops, not commands",
2026-06-05T02:56:35.4775991Z       "requiredStages": [
2026-06-05T02:56:35.4776646Z         "impl",
2026-06-05T02:56:35.4777223Z         "unit",
2026-06-05T02:56:35.4777786Z         "int"
2026-06-05T02:56:35.4778339Z       ],
2026-06-05T02:56:35.4778877Z       "stages": {
2026-06-05T02:56:35.4779706Z         "doc": {
2026-06-05T02:56:35.4780473Z           "complete": false,
2026-06-05T02:56:35.4781163Z           "evidence": []
2026-06-05T02:56:35.4781797Z         },
2026-06-05T02:56:35.4782341Z         "impl": {
2026-06-05T02:56:35.4782959Z           "complete": true,
2026-06-05T02:56:35.4783624Z           "evidence": [
2026-06-05T02:56:35.4784234Z             {
2026-06-05T02:56:35.4784888Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T02:56:35.4785696Z               "line": 27
2026-06-05T02:56:35.4786324Z             },
2026-06-05T02:56:35.4786880Z             {
2026-06-05T02:56:35.4787550Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.4788378Z               "line": 347
2026-06-05T02:56:35.4788997Z             }
2026-06-05T02:56:35.4789796Z           ]
2026-06-05T02:56:35.4790496Z         },
2026-06-05T02:56:35.4791032Z         "int": {
2026-06-05T02:56:35.4791630Z           "complete": true,
2026-06-05T02:56:35.4792304Z           "evidence": [
2026-06-05T02:56:35.4792916Z             {
2026-06-05T02:56:35.4793576Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T02:56:35.4794421Z               "line": 203
2026-06-05T02:56:35.4795042Z             }
2026-06-05T02:56:35.4795613Z           ]
2026-06-05T02:56:35.4796148Z         },
2026-06-05T02:56:35.4796692Z         "unit": {
2026-06-05T02:56:35.4797306Z           "complete": true,
2026-06-05T02:56:35.4797957Z           "evidence": [
2026-06-05T02:56:35.4798560Z             {
2026-06-05T02:56:35.4799251Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T02:56:35.4800418Z               "line": 230
2026-06-05T02:56:35.4801040Z             },
2026-06-05T02:56:35.4801616Z             {
2026-06-05T02:56:35.4802280Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.4803103Z               "line": 568
2026-06-05T02:56:35.4803719Z             }
2026-06-05T02:56:35.4804270Z           ]
2026-06-05T02:56:35.4804801Z         }
2026-06-05T02:56:35.4805329Z       }
2026-06-05T02:56:35.4805850Z     },
2026-06-05T02:56:35.4806370Z     {
2026-06-05T02:56:35.4806914Z       "id": "REQ-ARCH-1",
2026-06-05T02:56:35.4807934Z       "title": "Many small acyclically-layered crates",
2026-06-05T02:56:35.4808946Z       "requiredStages": [
2026-06-05T02:56:35.4809846Z         "impl"
2026-06-05T02:56:35.4810567Z       ],
2026-06-05T02:56:35.4811107Z       "stages": {
2026-06-05T02:56:35.4811673Z         "doc": {
2026-06-05T02:56:35.4812265Z           "complete": false,
2026-06-05T02:56:35.4812932Z           "evidence": []
2026-06-05T02:56:35.4813549Z         },
2026-06-05T02:56:35.4814096Z         "impl": {
2026-06-05T02:56:35.4814707Z           "complete": true,
2026-06-05T02:56:35.4815372Z           "evidence": [
2026-06-05T02:56:35.4815976Z             {
2026-06-05T02:56:35.4816607Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-05T02:56:35.4817407Z               "line": 16
2026-06-05T02:56:35.4818024Z             },
2026-06-05T02:56:35.4818583Z             {
2026-06-05T02:56:35.4819260Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-05T02:56:35.4820412Z               "line": 12
2026-06-05T02:56:35.4821046Z             },
2026-06-05T02:56:35.4821601Z             {
2026-06-05T02:56:35.4822254Z               "path": "crates/spt-store/src/lib.rs",
2026-06-05T02:56:35.4823058Z               "line": 12
2026-06-05T02:56:35.4823671Z             }
2026-06-05T02:56:35.4824229Z           ]
2026-06-05T02:56:35.4824759Z         },
2026-06-05T02:56:35.4825306Z         "int": {
2026-06-05T02:56:35.4825911Z           "complete": false,
2026-06-05T02:56:35.4826579Z           "evidence": []
2026-06-05T02:56:35.4827201Z         },
2026-06-05T02:56:35.4827742Z         "unit": {
2026-06-05T02:56:35.4828339Z           "complete": false,
2026-06-05T02:56:35.4829003Z           "evidence": []
2026-06-05T02:56:35.4829667Z         }
2026-06-05T02:56:35.4830193Z       }
2026-06-05T02:56:35.4830703Z     },
2026-06-05T02:56:35.4831229Z     {
2026-06-05T02:56:35.4831772Z       "id": "REQ-ARCH-2",
2026-06-05T02:56:35.4832627Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-05T02:56:35.4833624Z       "requiredStages": [
2026-06-05T02:56:35.4834264Z         "impl"
2026-06-05T02:56:35.4834835Z       ],
2026-06-05T02:56:35.4835382Z       "stages": {
2026-06-05T02:56:35.4835952Z         "doc": {
2026-06-05T02:56:35.4836554Z           "complete": false,
2026-06-05T02:56:35.4837216Z           "evidence": []
2026-06-05T02:56:35.4837834Z         },
2026-06-05T02:56:35.4838371Z         "impl": {
2026-06-05T02:56:35.4838968Z           "complete": true,
2026-06-05T02:56:35.4839659Z           "evidence": [
2026-06-05T02:56:35.4840274Z             {
2026-06-05T02:56:35.4840923Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-05T02:56:35.4841732Z               "line": 18
2026-06-05T02:56:35.4842351Z             }
2026-06-05T02:56:35.4842902Z           ]
2026-06-05T02:56:35.4843434Z         },
2026-06-05T02:56:35.4843976Z         "int": {
2026-06-05T02:56:35.4844572Z           "complete": false,
2026-06-05T02:56:35.4845246Z           "evidence": []
2026-06-05T02:56:35.4845865Z         },
2026-06-05T02:56:35.4846395Z         "unit": {
2026-06-05T02:56:35.4846992Z           "complete": false,
2026-06-05T02:56:35.4847687Z           "evidence": []
2026-06-05T02:56:35.4848302Z         }
2026-06-05T02:56:35.4848829Z       }
2026-06-05T02:56:35.4849387Z     },
2026-06-05T02:56:35.4849922Z     {
2026-06-05T02:56:35.4850463Z       "id": "REQ-ARCH-3",
2026-06-05T02:56:35.4851442Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-05T02:56:35.4852562Z       "requiredStages": [
2026-06-05T02:56:35.4853212Z         "impl",
2026-06-05T02:56:35.4853783Z         "unit"
2026-06-05T02:56:35.4864416Z       ],
2026-06-05T02:56:35.4865062Z       "stages": {
2026-06-05T02:56:35.4865644Z         "doc": {
2026-06-05T02:56:35.4866241Z           "complete": false,
2026-06-05T02:56:35.4866914Z           "evidence": []
2026-06-05T02:56:35.4867530Z         },
2026-06-05T02:56:35.4868070Z         "impl": {
2026-06-05T02:56:35.4868674Z           "complete": true,
2026-06-05T02:56:35.4869796Z           "evidence": [
2026-06-05T02:56:35.4870412Z             {
2026-06-05T02:56:35.4871245Z               "path": "crates/spt-proto/src/version.rs",
2026-06-05T02:56:35.4872091Z               "line": 34
2026-06-05T02:56:35.4872709Z             },
2026-06-05T02:56:35.4877886Z             {
2026-06-05T02:56:35.4878583Z               "path": "crates/spt-proto/src/version.rs",
2026-06-05T02:56:35.4879503Z               "line": 41
2026-06-05T02:56:35.4880134Z             }
2026-06-05T02:56:35.4880682Z           ]
2026-06-05T02:56:35.4881213Z         },
2026-06-05T02:56:35.4881750Z         "int": {
2026-06-05T02:56:35.4882341Z           "complete": false,
2026-06-05T02:56:35.4883018Z           "evidence": []
2026-06-05T02:56:35.4883635Z         },
2026-06-05T02:56:35.4884175Z         "unit": {
2026-06-05T02:56:35.4884791Z           "complete": true,
2026-06-05T02:56:35.4885446Z           "evidence": [
2026-06-05T02:56:35.4886064Z             {
2026-06-05T02:56:35.4886729Z               "path": "crates/spt-proto/src/version.rs",
2026-06-05T02:56:35.4887588Z               "line": 51
2026-06-05T02:56:35.4888222Z             },
2026-06-05T02:56:35.4888786Z             {
2026-06-05T02:56:35.4889503Z               "path": "crates/spt-proto/src/version.rs",
2026-06-05T02:56:35.4890358Z               "line": 65
2026-06-05T02:56:35.4890972Z             },
2026-06-05T02:56:35.4891529Z             {
2026-06-05T02:56:35.4892188Z               "path": "crates/spt-proto/src/version.rs",
2026-06-05T02:56:35.4893017Z               "line": 74
2026-06-05T02:56:35.4893633Z             }
2026-06-05T02:56:35.4894190Z           ]
2026-06-05T02:56:35.4894721Z         }
2026-06-05T02:56:35.4895249Z       }
2026-06-05T02:56:35.4895774Z     },
2026-06-05T02:56:35.4896290Z     {
2026-06-05T02:56:35.4896838Z       "id": "REQ-ARCH-4",
2026-06-05T02:56:35.4897745Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-05T02:56:35.4898759Z       "requiredStages": [
2026-06-05T02:56:35.4899471Z         "impl",
2026-06-05T02:56:35.4900346Z         "unit"
2026-06-05T02:56:35.4900910Z       ],
2026-06-05T02:56:35.4901457Z       "stages": {
2026-06-05T02:56:35.4902056Z         "doc": {
2026-06-05T02:56:35.4902658Z           "complete": false,
2026-06-05T02:56:35.4903341Z           "evidence": []
2026-06-05T02:56:35.4903969Z         },
2026-06-05T02:56:35.4904507Z         "impl": {
2026-06-05T02:56:35.4905111Z           "complete": true,
2026-06-05T02:56:35.4905768Z           "evidence": [
2026-06-05T02:56:35.4906376Z             {
2026-06-05T02:56:35.4907042Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T02:56:35.4907856Z               "line": 82
2026-06-05T02:56:35.4908479Z             },
2026-06-05T02:56:35.4909038Z             {
2026-06-05T02:56:35.4909742Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T02:56:35.4910571Z               "line": 96
2026-06-05T02:56:35.4911195Z             },
2026-06-05T02:56:35.4911748Z             {
2026-06-05T02:56:35.4912415Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T02:56:35.4913256Z               "line": 116
2026-06-05T02:56:35.4913900Z             },
2026-06-05T02:56:35.4914461Z             {
2026-06-05T02:56:35.4915109Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T02:56:35.4915924Z               "line": 131
2026-06-05T02:56:35.4916547Z             },
2026-06-05T02:56:35.4917101Z             {
2026-06-05T02:56:35.4917755Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T02:56:35.4918583Z               "line": 181
2026-06-05T02:56:35.4946854Z             }
2026-06-05T02:56:35.4947979Z           ]
2026-06-05T02:56:35.4948536Z         },
2026-06-05T02:56:35.4949069Z         "int": {
2026-06-05T02:56:35.4950055Z           "complete": false,
2026-06-05T02:56:35.4950732Z           "evidence": []
2026-06-05T02:56:35.4951351Z         },
2026-06-05T02:56:35.4951894Z         "unit": {
2026-06-05T02:56:35.4952498Z           "complete": true,
2026-06-05T02:56:35.4953677Z           "evidence": [
2026-06-05T02:56:35.4954291Z             {
2026-06-05T02:56:35.4954949Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T02:56:35.4955977Z               "line": 245
2026-06-05T02:56:35.4956617Z             },
2026-06-05T02:56:35.4957172Z             {
2026-06-05T02:56:35.4957820Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T02:56:35.4958628Z               "line": 255
2026-06-05T02:56:35.4959322Z             },
2026-06-05T02:56:35.4960235Z             {
2026-06-05T02:56:35.4960879Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T02:56:35.4961694Z               "line": 266
2026-06-05T02:56:35.4962315Z             },
2026-06-05T02:56:35.4962871Z             {
2026-06-05T02:56:35.4963510Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T02:56:35.4964315Z               "line": 277
2026-06-05T02:56:35.4964949Z             },
2026-06-05T02:56:35.4965504Z             {
2026-06-05T02:56:35.4966144Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T02:56:35.4966974Z               "line": 289
2026-06-05T02:56:35.4967602Z             },
2026-06-05T02:56:35.4968157Z             {
2026-06-05T02:56:35.4968796Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T02:56:35.4969952Z               "line": 302
2026-06-05T02:56:35.4970596Z             },
2026-06-05T02:56:35.4971154Z             {
2026-06-05T02:56:35.4971793Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T02:56:35.4972641Z               "line": 313
2026-06-05T02:56:35.4973267Z             },
2026-06-05T02:56:35.4973818Z             {
2026-06-05T02:56:35.4974452Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T02:56:35.4975258Z               "line": 327
2026-06-05T02:56:35.4975899Z             },
2026-06-05T02:56:35.4976449Z             {
2026-06-05T02:56:35.4977094Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T02:56:35.4977901Z               "line": 355
2026-06-05T02:56:35.4978518Z             }
2026-06-05T02:56:35.4979083Z           ]
2026-06-05T02:56:35.4979848Z         }
2026-06-05T02:56:35.4980537Z       }
2026-06-05T02:56:35.4981060Z     },
2026-06-05T02:56:35.4981593Z     {
2026-06-05T02:56:35.4982138Z       "id": "REQ-CONSENT-1",
2026-06-05T02:56:35.4985359Z       "title": "Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)",
2026-06-05T02:56:35.4988676Z       "requiredStages": [
2026-06-05T02:56:35.4989547Z         "impl",
2026-06-05T02:56:35.4990136Z         "unit"
2026-06-05T02:56:35.4990690Z       ],
2026-06-05T02:56:35.4991232Z       "stages": {
2026-06-05T02:56:35.4991798Z         "doc": {
2026-06-05T02:56:35.4992392Z           "complete": false,
2026-06-05T02:56:35.4993061Z           "evidence": []
2026-06-05T02:56:35.4993700Z         },
2026-06-05T02:56:35.4994243Z         "impl": {
2026-06-05T02:56:35.4994845Z           "complete": true,
2026-06-05T02:56:35.4995496Z           "evidence": [
2026-06-05T02:56:35.4996136Z             {
2026-06-05T02:56:35.4997042Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T02:56:35.4997944Z               "line": 27
2026-06-05T02:56:35.4998652Z             },
2026-06-05T02:56:35.4999341Z             {
2026-06-05T02:56:35.5000093Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T02:56:35.5001024Z               "line": 75
2026-06-05T02:56:35.5001823Z             },
2026-06-05T02:56:35.5002589Z             {
2026-06-05T02:56:35.5003432Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T02:56:35.5004399Z               "line": 98
2026-06-05T02:56:35.5005119Z             },
2026-06-05T02:56:35.5005749Z             {
2026-06-05T02:56:35.5006835Z               "path": "crates/spt-store/src/grants.rs",
2026-06-05T02:56:35.5014760Z               "line": 82
2026-06-05T02:56:35.5015618Z             },
2026-06-05T02:56:35.5016220Z             {
2026-06-05T02:56:35.5017873Z               "path": "crates/spt-store/src/grants.rs",
2026-06-05T02:56:35.5018963Z               "line": 109
2026-06-05T02:56:35.5019990Z             },
2026-06-05T02:56:35.5020695Z             {
2026-06-05T02:56:35.5021446Z               "path": "crates/spt-store/src/grants.rs",
2026-06-05T02:56:35.5022350Z               "line": 127
2026-06-05T02:56:35.5023085Z             },
2026-06-05T02:56:35.5023947Z             {
2026-06-05T02:56:35.5024701Z               "path": "crates/spt-store/src/grants.rs",
2026-06-05T02:56:35.5025578Z               "line": 142
2026-06-05T02:56:35.5026306Z             },
2026-06-05T02:56:35.5026929Z             {
2026-06-05T02:56:35.5027601Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.5028490Z               "line": 2343
2026-06-05T02:56:35.5029282Z             }
2026-06-05T02:56:35.5030413Z           ]
2026-06-05T02:56:35.5031182Z         },
2026-06-05T02:56:35.5031783Z         "int": {
2026-06-05T02:56:35.5032474Z           "complete": false,
2026-06-05T02:56:35.5033217Z           "evidence": []
2026-06-05T02:56:35.5033905Z         },
2026-06-05T02:56:35.5034462Z         "unit": {
2026-06-05T02:56:35.5035072Z           "complete": true,
2026-06-05T02:56:35.5035750Z           "evidence": [
2026-06-05T02:56:35.5036374Z             {
2026-06-05T02:56:35.5037047Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T02:56:35.5037879Z               "line": 318
2026-06-05T02:56:35.5038516Z             },
2026-06-05T02:56:35.5039085Z             {
2026-06-05T02:56:35.5040149Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T02:56:35.5040981Z               "line": 343
2026-06-05T02:56:35.5041613Z             },
2026-06-05T02:56:35.5042185Z             {
2026-06-05T02:56:35.5042862Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T02:56:35.5043696Z               "line": 354
2026-06-05T02:56:35.5044351Z             },
2026-06-05T02:56:35.5044918Z             {
2026-06-05T02:56:35.5045607Z               "path": "crates/spt-store/src/grants.rs",
2026-06-05T02:56:35.5046443Z               "line": 165
2026-06-05T02:56:35.5047078Z             },
2026-06-05T02:56:35.5047647Z             {
2026-06-05T02:56:35.5048321Z               "path": "crates/spt-store/src/grants.rs",
2026-06-05T02:56:35.5049145Z               "line": 184
2026-06-05T02:56:35.5050051Z             },
2026-06-05T02:56:35.5050661Z             {
2026-06-05T02:56:35.5051356Z               "path": "crates/spt-store/src/grants.rs",
2026-06-05T02:56:35.5052219Z               "line": 204
2026-06-05T02:56:35.5052883Z             },
2026-06-05T02:56:35.5053474Z             {
2026-06-05T02:56:35.5054122Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.5054951Z               "line": 2637
2026-06-05T02:56:35.5055616Z             }
2026-06-05T02:56:35.5056208Z           ]
2026-06-05T02:56:35.5056777Z         }
2026-06-05T02:56:35.5057362Z       }
2026-06-05T02:56:35.5057914Z     },
2026-06-05T02:56:35.5058468Z     {
2026-06-05T02:56:35.5059063Z       "id": "REQ-CONSENT-2",
2026-06-05T02:56:35.5062282Z       "title": "Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)",
2026-06-05T02:56:35.5065355Z       "requiredStages": [
2026-06-05T02:56:35.5066010Z         "impl",
2026-06-05T02:56:35.5066603Z         "unit"
2026-06-05T02:56:35.5067239Z       ],
2026-06-05T02:56:35.5067789Z       "stages": {
2026-06-05T02:56:35.5068384Z         "doc": {
2026-06-05T02:56:35.5069004Z           "complete": false,
2026-06-05T02:56:35.5070072Z           "evidence": []
2026-06-05T02:56:35.5070714Z         },
2026-06-05T02:56:35.5071277Z         "impl": {
2026-06-05T02:56:35.5072258Z           "complete": true,
2026-06-05T02:56:35.5072963Z           "evidence": [
2026-06-05T02:56:35.5073753Z             {
2026-06-05T02:56:35.5074447Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T02:56:35.5080332Z               "line": 140
2026-06-05T02:56:35.5081085Z             },
2026-06-05T02:56:35.5081657Z             {
2026-06-05T02:56:35.5082345Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T02:56:35.5083188Z               "line": 158
2026-06-05T02:56:35.5083838Z             },
2026-06-05T02:56:35.5084403Z             {
2026-06-05T02:56:35.5085078Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T02:56:35.5085921Z               "line": 192
2026-06-05T02:56:35.5086558Z             },
2026-06-05T02:56:35.5087122Z             {
2026-06-05T02:56:35.5087788Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T02:56:35.5088643Z               "line": 234
2026-06-05T02:56:35.5089345Z             },
2026-06-05T02:56:35.5089963Z             {
2026-06-05T02:56:35.5090638Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T02:56:35.5091486Z               "line": 262
2026-06-05T02:56:35.5092133Z             },
2026-06-05T02:56:35.5092702Z             {
2026-06-05T02:56:35.5093365Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T02:56:35.5094203Z               "line": 293
2026-06-05T02:56:35.5094835Z             },
2026-06-05T02:56:35.5095413Z             {
2026-06-05T02:56:35.5096042Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.5096848Z               "line": 2236
2026-06-05T02:56:35.5097498Z             },
2026-06-05T02:56:35.5098065Z             {
2026-06-05T02:56:35.5098694Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.5099533Z               "line": 2276
2026-06-05T02:56:35.5100179Z             }
2026-06-05T02:56:35.5100749Z           ]
2026-06-05T02:56:35.5101300Z         },
2026-06-05T02:56:35.5101842Z         "int": {
2026-06-05T02:56:35.5102471Z           "complete": false,
2026-06-05T02:56:35.5103153Z           "evidence": []
2026-06-05T02:56:35.5103794Z         },
2026-06-05T02:56:35.5104341Z         "unit": {
2026-06-05T02:56:35.5104958Z           "complete": true,
2026-06-05T02:56:35.5105630Z           "evidence": [
2026-06-05T02:56:35.5106259Z             {
2026-06-05T02:56:35.5106931Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T02:56:35.5107780Z               "line": 382
2026-06-05T02:56:35.5108431Z             },
2026-06-05T02:56:35.5108998Z             {
2026-06-05T02:56:35.5109714Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T02:56:35.5110550Z               "line": 396
2026-06-05T02:56:35.5111190Z             },
2026-06-05T02:56:35.5111760Z             {
2026-06-05T02:56:35.5112433Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T02:56:35.5113265Z               "line": 432
2026-06-05T02:56:35.5113902Z             },
2026-06-05T02:56:35.5114467Z             {
2026-06-05T02:56:35.5115148Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T02:56:35.5115981Z               "line": 464
2026-06-05T02:56:35.5116623Z             },
2026-06-05T02:56:35.5117188Z             {
2026-06-05T02:56:35.5117837Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.5118639Z               "line": 3308
2026-06-05T02:56:35.5119333Z             },
2026-06-05T02:56:35.5119907Z             {
2026-06-05T02:56:35.5120542Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.5121329Z               "line": 3368
2026-06-05T02:56:35.5121971Z             }
2026-06-05T02:56:35.5122531Z           ]
2026-06-05T02:56:35.5123093Z         }
2026-06-05T02:56:35.5123634Z       }
2026-06-05T02:56:35.5124154Z     },
2026-06-05T02:56:35.5124678Z     {
2026-06-05T02:56:35.5125229Z       "id": "REQ-DAEMON-1",
2026-06-05T02:56:35.5126144Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-05T02:56:35.5127148Z       "requiredStages": [
2026-06-05T02:56:35.5128108Z         "impl",
2026-06-05T02:56:35.5128694Z         "unit",
2026-06-05T02:56:35.5129324Z         "int"
2026-06-05T02:56:35.5130052Z       ],
2026-06-05T02:56:35.5130607Z       "stages": {
2026-06-05T02:56:35.5131206Z         "doc": {
2026-06-05T02:56:35.5131820Z           "complete": false,
2026-06-05T02:56:35.5132508Z           "evidence": []
2026-06-05T02:56:35.5133149Z         },
2026-06-05T02:56:35.5133699Z         "impl": {
2026-06-05T02:56:35.5137474Z           "complete": true,
2026-06-05T02:56:35.5138332Z           "evidence": [
2026-06-05T02:56:35.5138954Z             {
2026-06-05T02:56:35.5139721Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T02:56:35.5140556Z               "line": 12
2026-06-05T02:56:35.5141175Z             },
2026-06-05T02:56:35.5141734Z             {
2026-06-05T02:56:35.5142408Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.5143256Z               "line": 16
2026-06-05T02:56:35.5143886Z             },
2026-06-05T02:56:35.5144466Z             {
2026-06-05T02:56:35.5145122Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-05T02:56:35.5145952Z               "line": 15
2026-06-05T02:56:35.5146575Z             },
2026-06-05T02:56:35.5147124Z             {
2026-06-05T02:56:35.5147767Z               "path": "crates/spt/src/api/live.rs",
2026-06-05T02:56:35.5148568Z               "line": 13
2026-06-05T02:56:35.5149238Z             }
2026-06-05T02:56:35.5149794Z           ]
2026-06-05T02:56:35.5150329Z         },
2026-06-05T02:56:35.5150860Z         "int": {
2026-06-05T02:56:35.5151449Z           "complete": true,
2026-06-05T02:56:35.5152112Z           "evidence": [
2026-06-05T02:56:35.5152723Z             {
2026-06-05T02:56:35.5153414Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-05T02:56:35.5154271Z               "line": 32
2026-06-05T02:56:35.5154898Z             }
2026-06-05T02:56:35.5155443Z           ]
2026-06-05T02:56:35.5155975Z         },
2026-06-05T02:56:35.5156516Z         "unit": {
2026-06-05T02:56:35.5157122Z           "complete": true,
2026-06-05T02:56:35.5157778Z           "evidence": [
2026-06-05T02:56:35.5158390Z             {
2026-06-05T02:56:35.5159050Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T02:56:35.5159919Z               "line": 254
2026-06-05T02:56:35.5160554Z             },
2026-06-05T02:56:35.5161100Z             {
2026-06-05T02:56:35.5161763Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T02:56:35.5162587Z               "line": 262
2026-06-05T02:56:35.5163217Z             },
2026-06-05T02:56:35.5163770Z             {
2026-06-05T02:56:35.5164427Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T02:56:35.5165247Z               "line": 275
2026-06-05T02:56:35.5165885Z             },
2026-06-05T02:56:35.5166435Z             {
2026-06-05T02:56:35.5167090Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T02:56:35.5167909Z               "line": 283
2026-06-05T02:56:35.5168528Z             },
2026-06-05T02:56:35.5169091Z             {
2026-06-05T02:56:35.5169806Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.5170670Z               "line": 536
2026-06-05T02:56:35.5171395Z             },
2026-06-05T02:56:35.5171969Z             {
2026-06-05T02:56:35.5172674Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.5173524Z               "line": 595
2026-06-05T02:56:35.5174150Z             },
2026-06-05T02:56:35.5174700Z             {
2026-06-05T02:56:35.5175354Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-05T02:56:35.5176170Z               "line": 100
2026-06-05T02:56:35.5176804Z             },
2026-06-05T02:56:35.5177358Z             {
2026-06-05T02:56:35.5178011Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-05T02:56:35.5178830Z               "line": 125
2026-06-05T02:56:35.5179504Z             }
2026-06-05T02:56:35.5180048Z           ]
2026-06-05T02:56:35.5180583Z         }
2026-06-05T02:56:35.5181464Z       }
2026-06-05T02:56:35.5181996Z     },
2026-06-05T02:56:35.5182524Z     {
2026-06-05T02:56:35.5183220Z       "id": "REQ-DAEMON-2",
2026-06-05T02:56:35.5184050Z       "title": "Broker/brain split for seamless self-update",
2026-06-05T02:56:35.5184948Z       "requiredStages": [
2026-06-05T02:56:35.5185598Z         "impl",
2026-06-05T02:56:35.5186164Z         "unit",
2026-06-05T02:56:35.5186727Z         "int"
2026-06-05T02:56:35.5187277Z       ],
2026-06-05T02:56:35.5187812Z       "stages": {
2026-06-05T02:56:35.5188394Z         "doc": {
2026-06-05T02:56:35.5188985Z           "complete": false,
2026-06-05T02:56:35.5189717Z           "evidence": []
2026-06-05T02:56:35.5190340Z         },
2026-06-05T02:56:35.5190877Z         "impl": {
2026-06-05T02:56:35.5194510Z           "complete": true,
2026-06-05T02:56:35.5195304Z           "evidence": [
2026-06-05T02:56:35.5195922Z             {
2026-06-05T02:56:35.5196582Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T02:56:35.5197429Z               "line": 23
2026-06-05T02:56:35.5198049Z             },
2026-06-05T02:56:35.5198603Z             {
2026-06-05T02:56:35.5199350Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T02:56:35.5200181Z               "line": 489
2026-06-05T02:56:35.5200800Z             },
2026-06-05T02:56:35.5201349Z             {
2026-06-05T02:56:35.5201990Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T02:56:35.5202812Z               "line": 612
2026-06-05T02:56:35.5203433Z             },
2026-06-05T02:56:35.5203986Z             {
2026-06-05T02:56:35.5204634Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T02:56:35.5205449Z               "line": 32
2026-06-05T02:56:35.5206062Z             },
2026-06-05T02:56:35.5206618Z             {
2026-06-05T02:56:35.5207283Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T02:56:35.5208115Z               "line": 191
2026-06-05T02:56:35.5208734Z             },
2026-06-05T02:56:35.5209323Z             {
2026-06-05T02:56:35.5210009Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T02:56:35.5210834Z               "line": 519
2026-06-05T02:56:35.5211450Z             },
2026-06-05T02:56:35.5212003Z             {
2026-06-05T02:56:35.5212656Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T02:56:35.5213468Z               "line": 688
2026-06-05T02:56:35.5214098Z             },
2026-06-05T02:56:35.5214648Z             {
2026-06-05T02:56:35.5215296Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-05T02:56:35.5216108Z               "line": 11
2026-06-05T02:56:35.5216719Z             },
2026-06-05T02:56:35.5217276Z             {
2026-06-05T02:56:35.5217927Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-05T02:56:35.5218741Z               "line": 69
2026-06-05T02:56:35.5219412Z             },
2026-06-05T02:56:35.5219970Z             {
2026-06-05T02:56:35.5220613Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-05T02:56:35.5221426Z               "line": 13
2026-06-05T02:56:35.5222051Z             },
2026-06-05T02:56:35.5222609Z             {
2026-06-05T02:56:35.5223276Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T02:56:35.5224102Z               "line": 27
2026-06-05T02:56:35.5224723Z             },
2026-06-05T02:56:35.5225272Z             {
2026-06-05T02:56:35.5225931Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T02:56:35.5226750Z               "line": 94
2026-06-05T02:56:35.5227363Z             },
2026-06-05T02:56:35.5227924Z             {
2026-06-05T02:56:35.5228581Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T02:56:35.5229459Z               "line": 393
2026-06-05T02:56:35.5230081Z             },
2026-06-05T02:56:35.5230650Z             {
2026-06-05T02:56:35.5231318Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T02:56:35.5232146Z               "line": 460
2026-06-05T02:56:35.5232764Z             },
2026-06-05T02:56:35.5233313Z             {
2026-06-05T02:56:35.5234251Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T02:56:35.5235230Z               "line": 494
2026-06-05T02:56:35.5235868Z             },
2026-06-05T02:56:35.5236430Z             {
2026-06-05T02:56:35.5237100Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T02:56:35.5237942Z               "line": 536
2026-06-05T02:56:35.5238577Z             },
2026-06-05T02:56:35.5239144Z             {
2026-06-05T02:56:35.5239873Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T02:56:35.5240718Z               "line": 581
2026-06-05T02:56:35.5241345Z             },
2026-06-05T02:56:35.5241919Z             {
2026-06-05T02:56:35.5242613Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-05T02:56:35.5243460Z               "line": 10
2026-06-05T02:56:35.5244078Z             }
2026-06-05T02:56:35.5244631Z           ]
2026-06-05T02:56:35.5245165Z         },
2026-06-05T02:56:35.5245700Z         "int": {
2026-06-05T02:56:35.5246307Z           "complete": true,
2026-06-05T02:56:35.5246975Z           "evidence": [
2026-06-05T02:56:35.5247598Z             {
2026-06-05T02:56:35.5248277Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-05T02:56:35.5249109Z               "line": 17
2026-06-05T02:56:35.5254365Z             },
2026-06-05T02:56:35.5255109Z             {
2026-06-05T02:56:35.5255822Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-05T02:56:35.5256691Z               "line": 33
2026-06-05T02:56:35.5257314Z             },
2026-06-05T02:56:35.5257881Z             {
2026-06-05T02:56:35.5258567Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-05T02:56:35.5259758Z               "line": 19
2026-06-05T02:56:35.5260550Z             },
2026-06-05T02:56:35.5261111Z             {
2026-06-05T02:56:35.5261800Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-05T02:56:35.5262644Z               "line": 70
2026-06-05T02:56:35.5263263Z             },
2026-06-05T02:56:35.5263873Z             {
2026-06-05T02:56:35.5264566Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-05T02:56:35.5265428Z               "line": 90
2026-06-05T02:56:35.5266048Z             },
2026-06-05T02:56:35.5266624Z             {
2026-06-05T02:56:35.5267311Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-05T02:56:35.5268176Z               "line": 160
2026-06-05T02:56:35.5268808Z             },
2026-06-05T02:56:35.5269613Z             {
2026-06-05T02:56:35.5270499Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-05T02:56:35.5271361Z               "line": 196
2026-06-05T02:56:35.5271992Z             },
2026-06-05T02:56:35.5272556Z             {
2026-06-05T02:56:35.5273248Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-05T02:56:35.5274103Z               "line": 121
2026-06-05T02:56:35.5274731Z             }
2026-06-05T02:56:35.5275368Z           ]
2026-06-05T02:56:35.5275944Z         },
2026-06-05T02:56:35.5276485Z         "unit": {
2026-06-05T02:56:35.5277116Z           "complete": true,
2026-06-05T02:56:35.5277780Z           "evidence": [
2026-06-05T02:56:35.5278406Z             {
2026-06-05T02:56:35.5279075Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-05T02:56:35.5280321Z               "line": 62
2026-06-05T02:56:35.5280949Z             },
2026-06-05T02:56:35.5281508Z             {
2026-06-05T02:56:35.5282177Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-05T02:56:35.5283008Z               "line": 76
2026-06-05T02:56:35.5283633Z             },
2026-06-05T02:56:35.5284194Z             {
2026-06-05T02:56:35.5284867Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-05T02:56:35.5285684Z               "line": 88
2026-06-05T02:56:35.5286310Z             },
2026-06-05T02:56:35.5286879Z             {
2026-06-05T02:56:35.5287570Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-05T02:56:35.5288408Z               "line": 264
2026-06-05T02:56:35.5289044Z             },
2026-06-05T02:56:35.5290060Z             {
2026-06-05T02:56:35.5290735Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-05T02:56:35.5291727Z               "line": 506
2026-06-05T02:56:35.5292366Z             },
2026-06-05T02:56:35.5292938Z             {
2026-06-05T02:56:35.5293610Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-05T02:56:35.5294441Z               "line": 514
2026-06-05T02:56:35.5295085Z             },
2026-06-05T02:56:35.5295649Z             {
2026-06-05T02:56:35.5296311Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-05T02:56:35.5297139Z               "line": 531
2026-06-05T02:56:35.5297779Z             },
2026-06-05T02:56:35.5298341Z             {
2026-06-05T02:56:35.5298990Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-05T02:56:35.5299897Z               "line": 576
2026-06-05T02:56:35.5300544Z             },
2026-06-05T02:56:35.5301113Z             {
2026-06-05T02:56:35.5301787Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T02:56:35.5302646Z               "line": 648
2026-06-05T02:56:35.5303278Z             },
2026-06-05T02:56:35.5303855Z             {
2026-06-05T02:56:35.5304534Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T02:56:35.5305395Z               "line": 660
2026-06-05T02:56:35.5306030Z             },
2026-06-05T02:56:35.5306597Z             {
2026-06-05T02:56:35.5307289Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-05T02:56:35.5308148Z               "line": 112
2026-06-05T02:56:35.5308781Z             }
2026-06-05T02:56:35.5309413Z           ]
2026-06-05T02:56:35.5309968Z         }
2026-06-05T02:56:35.5310502Z       }
2026-06-05T02:56:35.5311019Z     },
2026-06-05T02:56:35.5314917Z     {
2026-06-05T02:56:35.5315537Z       "id": "REQ-DAEMON-3",
2026-06-05T02:56:35.5316419Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-05T02:56:35.5317376Z       "requiredStages": [
2026-06-05T02:56:35.5318023Z         "impl",
2026-06-05T02:56:35.5318620Z         "unit",
2026-06-05T02:56:35.5319278Z         "int"
2026-06-05T02:56:35.5319855Z       ],
2026-06-05T02:56:35.5320403Z       "stages": {
2026-06-05T02:56:35.5320986Z         "doc": {
2026-06-05T02:56:35.5321585Z           "complete": false,
2026-06-05T02:56:35.5322253Z           "evidence": []
2026-06-05T02:56:35.5322878Z         },
2026-06-05T02:56:35.5323414Z         "impl": {
2026-06-05T02:56:35.5324008Z           "complete": true,
2026-06-05T02:56:35.5324673Z           "evidence": [
2026-06-05T02:56:35.5325288Z             {
2026-06-05T02:56:35.5325957Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-05T02:56:35.5326787Z               "line": 14
2026-06-05T02:56:35.5327408Z             },
2026-06-05T02:56:35.5327961Z             {
2026-06-05T02:56:35.5328633Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-05T02:56:35.5329509Z               "line": 11
2026-06-05T02:56:35.5330130Z             },
2026-06-05T02:56:35.5330694Z             {
2026-06-05T02:56:35.5331343Z               "path": "crates/spt/src/api/mod.rs",
2026-06-05T02:56:35.5332143Z               "line": 247
2026-06-05T02:56:35.5332778Z             },
2026-06-05T02:56:35.5333331Z             {
2026-06-05T02:56:35.5333955Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.5334733Z               "line": 887
2026-06-05T02:56:35.5335359Z             }
2026-06-05T02:56:35.5335923Z           ]
2026-06-05T02:56:35.5336474Z         },
2026-06-05T02:56:35.5337009Z         "int": {
2026-06-05T02:56:35.5337600Z           "complete": true,
2026-06-05T02:56:35.5338277Z           "evidence": [
2026-06-05T02:56:35.5338883Z             {
2026-06-05T02:56:35.5339636Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T02:56:35.5340467Z               "line": 43
2026-06-05T02:56:35.5341087Z             },
2026-06-05T02:56:35.5341659Z             {
2026-06-05T02:56:35.5342329Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T02:56:35.5343170Z               "line": 320
2026-06-05T02:56:35.5344117Z             }
2026-06-05T02:56:35.5344670Z           ]
2026-06-05T02:56:35.5345365Z         },
2026-06-05T02:56:35.5345903Z         "unit": {
2026-06-05T02:56:35.5346505Z           "complete": true,
2026-06-05T02:56:35.5347175Z           "evidence": [
2026-06-05T02:56:35.5347801Z             {
2026-06-05T02:56:35.5348497Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-05T02:56:35.5349397Z               "line": 400
2026-06-05T02:56:35.5350050Z             }
2026-06-05T02:56:35.5350624Z           ]
2026-06-05T02:56:35.5351171Z         }
2026-06-05T02:56:35.5351705Z       }
2026-06-05T02:56:35.5352227Z     },
2026-06-05T02:56:35.5352743Z     {
2026-06-05T02:56:35.5353319Z       "id": "REQ-DAEMON-4",
2026-06-05T02:56:35.5354123Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-05T02:56:35.5354982Z       "requiredStages": [
2026-06-05T02:56:35.5355636Z         "impl",
2026-06-05T02:56:35.5356211Z         "unit",
2026-06-05T02:56:35.5356800Z         "int"
2026-06-05T02:56:35.5357362Z       ],
2026-06-05T02:56:35.5357907Z       "stages": {
2026-06-05T02:56:35.5358590Z         "doc": {
2026-06-05T02:56:35.5359886Z           "complete": false,
2026-06-05T02:56:35.5360799Z           "evidence": []
2026-06-05T02:56:35.5361622Z         },
2026-06-05T02:56:35.5362873Z         "impl": {
2026-06-05T02:56:35.5363627Z           "complete": true,
2026-06-05T02:56:35.5364438Z           "evidence": [
2026-06-05T02:56:35.5365099Z             {
2026-06-05T02:56:35.5365815Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.5366712Z               "line": 347
2026-06-05T02:56:35.5367369Z             },
2026-06-05T02:56:35.5367949Z             {
2026-06-05T02:56:35.5368651Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.5369788Z               "line": 409
2026-06-05T02:56:35.5374282Z             },
2026-06-05T02:56:35.5375065Z             {
2026-06-05T02:56:35.5375764Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.5376678Z               "line": 431
2026-06-05T02:56:35.5377317Z             }
2026-06-05T02:56:35.5377886Z           ]
2026-06-05T02:56:35.5378428Z         },
2026-06-05T02:56:35.5378974Z         "int": {
2026-06-05T02:56:35.5379669Z           "complete": true,
2026-06-05T02:56:35.5380337Z           "evidence": [
2026-06-05T02:56:35.5380963Z             {
2026-06-05T02:56:35.5381670Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-05T02:56:35.5382531Z               "line": 34
2026-06-05T02:56:35.5383151Z             }
2026-06-05T02:56:35.5383706Z           ]
2026-06-05T02:56:35.5384237Z         },
2026-06-05T02:56:35.5384775Z         "unit": {
2026-06-05T02:56:35.5385436Z           "complete": true,
2026-06-05T02:56:35.5386101Z           "evidence": [
2026-06-05T02:56:35.5386717Z             {
2026-06-05T02:56:35.5387393Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T02:56:35.5388219Z               "line": 353
2026-06-05T02:56:35.5388865Z             },
2026-06-05T02:56:35.5389467Z             {
2026-06-05T02:56:35.5390153Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.5391007Z               "line": 725
2026-06-05T02:56:35.5391633Z             },
2026-06-05T02:56:35.5392199Z             {
2026-06-05T02:56:35.5392885Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.5393718Z               "line": 776
2026-06-05T02:56:35.5394347Z             },
2026-06-05T02:56:35.5394911Z             {
2026-06-05T02:56:35.5395585Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.5396424Z               "line": 800
2026-06-05T02:56:35.5397053Z             },
2026-06-05T02:56:35.5397613Z             {
2026-06-05T02:56:35.5398292Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.5399146Z               "line": 830
2026-06-05T02:56:35.5399853Z             }
2026-06-05T02:56:35.5400414Z           ]
2026-06-05T02:56:35.5401466Z         }
2026-06-05T02:56:35.5402007Z       }
2026-06-05T02:56:35.5402533Z     },
2026-06-05T02:56:35.5403227Z     {
2026-06-05T02:56:35.5403790Z       "id": "REQ-DOCS-1",
2026-06-05T02:56:35.5404778Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-05T02:56:35.5405883Z       "requiredStages": [],
2026-06-05T02:56:35.5406544Z       "stages": {
2026-06-05T02:56:35.5407123Z         "doc": {
2026-06-05T02:56:35.5407731Z           "complete": false,
2026-06-05T02:56:35.5408408Z           "evidence": []
2026-06-05T02:56:35.5409032Z         },
2026-06-05T02:56:35.5409639Z         "impl": {
2026-06-05T02:56:35.5410241Z           "complete": false,
2026-06-05T02:56:35.5410918Z           "evidence": []
2026-06-05T02:56:35.5411535Z         },
2026-06-05T02:56:35.5412080Z         "int": {
2026-06-05T02:56:35.5412670Z           "complete": false,
2026-06-05T02:56:35.5413334Z           "evidence": []
2026-06-05T02:56:35.5413951Z         },
2026-06-05T02:56:35.5414499Z         "unit": {
2026-06-05T02:56:35.5415122Z           "complete": false,
2026-06-05T02:56:35.5415796Z           "evidence": []
2026-06-05T02:56:35.5416436Z         }
2026-06-05T02:56:35.5416968Z       }
2026-06-05T02:56:35.5417499Z     },
2026-06-05T02:56:35.5418009Z     {
2026-06-05T02:56:35.5418551Z       "id": "REQ-DOCS-2",
2026-06-05T02:56:35.5419441Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-05T02:56:35.5420406Z       "requiredStages": [],
2026-06-05T02:56:35.5421057Z       "stages": {
2026-06-05T02:56:35.5421642Z         "doc": {
2026-06-05T02:56:35.5422227Z           "complete": false,
2026-06-05T02:56:35.5422898Z           "evidence": []
2026-06-05T02:56:35.5423512Z         },
2026-06-05T02:56:35.5424049Z         "impl": {
2026-06-05T02:56:35.5424640Z           "complete": false,
2026-06-05T02:56:35.5425310Z           "evidence": []
2026-06-05T02:56:35.5425923Z         },
2026-06-05T02:56:35.5426461Z         "int": {
2026-06-05T02:56:35.5427052Z           "complete": false,
2026-06-05T02:56:35.5431078Z           "evidence": []
2026-06-05T02:56:35.5431875Z         },
2026-06-05T02:56:35.5432446Z         "unit": {
2026-06-05T02:56:35.5433044Z           "complete": false,
2026-06-05T02:56:35.5433708Z           "evidence": []
2026-06-05T02:56:35.5434316Z         }
2026-06-05T02:56:35.5434838Z       }
2026-06-05T02:56:35.5435350Z     },
2026-06-05T02:56:35.5435878Z     {
2026-06-05T02:56:35.5436414Z       "id": "REQ-DOCS-3",
2026-06-05T02:56:35.5438296Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-05T02:56:35.5439536Z       "requiredStages": [],
2026-06-05T02:56:35.5440223Z       "stages": {
2026-06-05T02:56:35.5440793Z         "doc": {
2026-06-05T02:56:35.5441382Z           "complete": false,
2026-06-05T02:56:35.5442049Z           "evidence": []
2026-06-05T02:56:35.5442670Z         },
2026-06-05T02:56:35.5443203Z         "impl": {
2026-06-05T02:56:35.5443791Z           "complete": false,
2026-06-05T02:56:35.5444456Z           "evidence": []
2026-06-05T02:56:35.5445102Z         },
2026-06-05T02:56:35.5445637Z         "int": {
2026-06-05T02:56:35.5446250Z           "complete": false,
2026-06-05T02:56:35.5446907Z           "evidence": []
2026-06-05T02:56:35.5447531Z         },
2026-06-05T02:56:35.5448081Z         "unit": {
2026-06-05T02:56:35.5448677Z           "complete": false,
2026-06-05T02:56:35.5449379Z           "evidence": []
2026-06-05T02:56:35.5450013Z         }
2026-06-05T02:56:35.5450537Z       }
2026-06-05T02:56:35.5451053Z     },
2026-06-05T02:56:35.5451563Z     {
2026-06-05T02:56:35.5452102Z       "id": "REQ-DOCS-4",
2026-06-05T02:56:35.5453056Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-05T02:56:35.5454189Z       "requiredStages": [],
2026-06-05T02:56:35.5454835Z       "stages": {
2026-06-05T02:56:35.5455412Z         "doc": {
2026-06-05T02:56:35.5456005Z           "complete": false,
2026-06-05T02:56:35.5456658Z           "evidence": []
2026-06-05T02:56:35.5457263Z         },
2026-06-05T02:56:35.5458123Z         "impl": {
2026-06-05T02:56:35.5458716Z           "complete": false,
2026-06-05T02:56:35.5459588Z           "evidence": []
2026-06-05T02:56:35.5460228Z         },
2026-06-05T02:56:35.5460770Z         "int": {
2026-06-05T02:56:35.5461376Z           "complete": false,
2026-06-05T02:56:35.5462053Z           "evidence": []
2026-06-05T02:56:35.5462685Z         },
2026-06-05T02:56:35.5463224Z         "unit": {
2026-06-05T02:56:35.5463817Z           "complete": false,
2026-06-05T02:56:35.5464492Z           "evidence": []
2026-06-05T02:56:35.5465128Z         }
2026-06-05T02:56:35.5465665Z       }
2026-06-05T02:56:35.5466187Z     },
2026-06-05T02:56:35.5466703Z     {
2026-06-05T02:56:35.5467243Z       "id": "REQ-DOCS-5",
2026-06-05T02:56:35.5468212Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-05T02:56:35.5469344Z       "requiredStages": [],
2026-06-05T02:56:35.5470009Z       "stages": {
2026-06-05T02:56:35.5470585Z         "doc": {
2026-06-05T02:56:35.5471222Z           "complete": false,
2026-06-05T02:56:35.5471893Z           "evidence": []
2026-06-05T02:56:35.5472518Z         },
2026-06-05T02:56:35.5473062Z         "impl": {
2026-06-05T02:56:35.5473666Z           "complete": false,
2026-06-05T02:56:35.5474338Z           "evidence": []
2026-06-05T02:56:35.5474967Z         },
2026-06-05T02:56:35.5475506Z         "int": {
2026-06-05T02:56:35.5476113Z           "complete": false,
2026-06-05T02:56:35.5476781Z           "evidence": []
2026-06-05T02:56:35.5477395Z         },
2026-06-05T02:56:35.5477935Z         "unit": {
2026-06-05T02:56:35.5478531Z           "complete": false,
2026-06-05T02:56:35.5479258Z           "evidence": []
2026-06-05T02:56:35.5479890Z         }
2026-06-05T02:56:35.5480419Z       }
2026-06-05T02:56:35.5480934Z     },
2026-06-05T02:56:35.5481457Z     {
2026-06-05T02:56:35.5482017Z       "id": "REQ-EP-1",
2026-06-05T02:56:35.5482781Z       "title": "Day-one endpoint types; open type system",
2026-06-05T02:56:35.5483649Z       "requiredStages": [
2026-06-05T02:56:35.5484292Z         "impl",
2026-06-05T02:56:35.5488119Z         "unit"
2026-06-05T02:56:35.5488886Z       ],
2026-06-05T02:56:35.5489529Z       "stages": {
2026-06-05T02:56:35.5490116Z         "doc": {
2026-06-05T02:56:35.5490716Z           "complete": false,
2026-06-05T02:56:35.5491403Z           "evidence": []
2026-06-05T02:56:35.5492026Z         },
2026-06-05T02:56:35.5492561Z         "impl": {
2026-06-05T02:56:35.5493162Z           "complete": true,
2026-06-05T02:56:35.5493825Z           "evidence": [
2026-06-05T02:56:35.5494431Z             {
2026-06-05T02:56:35.5495096Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T02:56:35.5495932Z               "line": 77
2026-06-05T02:56:35.5496549Z             },
2026-06-05T02:56:35.5497096Z             {
2026-06-05T02:56:35.5497754Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T02:56:35.5498571Z               "line": 94
2026-06-05T02:56:35.5499210Z             }
2026-06-05T02:56:35.5499772Z           ]
2026-06-05T02:56:35.5500299Z         },
2026-06-05T02:56:35.5500840Z         "int": {
2026-06-05T02:56:35.5501439Z           "complete": false,
2026-06-05T02:56:35.5502105Z           "evidence": []
2026-06-05T02:56:35.5502720Z         },
2026-06-05T02:56:35.5503264Z         "unit": {
2026-06-05T02:56:35.5503852Z           "complete": true,
2026-06-05T02:56:35.5504506Z           "evidence": [
2026-06-05T02:56:35.5505102Z             {
2026-06-05T02:56:35.5505762Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T02:56:35.5506594Z               "line": 161
2026-06-05T02:56:35.5507215Z             },
2026-06-05T02:56:35.5507764Z             {
2026-06-05T02:56:35.5508462Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T02:56:35.5509348Z               "line": 178
2026-06-05T02:56:35.5509974Z             }
2026-06-05T02:56:35.5510605Z           ]
2026-06-05T02:56:35.5511540Z         }
2026-06-05T02:56:35.5512390Z       }
2026-06-05T02:56:35.5513095Z     },
2026-06-05T02:56:35.5514409Z     {
2026-06-05T02:56:35.5515085Z       "id": "REQ-EP-2",
2026-06-05T02:56:35.5516315Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-05T02:56:35.5517501Z       "requiredStages": [
2026-06-05T02:56:35.5518305Z         "impl",
2026-06-05T02:56:35.5518971Z         "unit"
2026-06-05T02:56:35.5519733Z       ],
2026-06-05T02:56:35.5520366Z       "stages": {
2026-06-05T02:56:35.5521007Z         "doc": {
2026-06-05T02:56:35.5521672Z           "complete": false,
2026-06-05T02:56:35.5522450Z           "evidence": []
2026-06-05T02:56:35.5523142Z         },
2026-06-05T02:56:35.5523751Z         "impl": {
2026-06-05T02:56:35.5524406Z           "complete": true,
2026-06-05T02:56:35.5525143Z           "evidence": [
2026-06-05T02:56:35.5525828Z             {
2026-06-05T02:56:35.5526597Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T02:56:35.5527511Z               "line": 114
2026-06-05T02:56:35.5528297Z             },
2026-06-05T02:56:35.5528953Z             {
2026-06-05T02:56:35.5529980Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T02:56:35.5530882Z               "line": 131
2026-06-05T02:56:35.5531558Z             },
2026-06-05T02:56:35.5532151Z             {
2026-06-05T02:56:35.5532891Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T02:56:35.5533775Z               "line": 138
2026-06-05T02:56:35.5534454Z             }
2026-06-05T02:56:35.5535035Z           ]
2026-06-05T02:56:35.5535596Z         },
2026-06-05T02:56:35.5536154Z         "int": {
2026-06-05T02:56:35.5536794Z           "complete": false,
2026-06-05T02:56:35.5537511Z           "evidence": []
2026-06-05T02:56:35.5538164Z         },
2026-06-05T02:56:35.5538768Z         "unit": {
2026-06-05T02:56:35.5539673Z           "complete": true,
2026-06-05T02:56:35.5540794Z           "evidence": [
2026-06-05T02:56:35.5541520Z             {
2026-06-05T02:56:35.5542275Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T02:56:35.5543242Z               "line": 193
2026-06-05T02:56:35.5543997Z             },
2026-06-05T02:56:35.5544630Z             {
2026-06-05T02:56:35.5545405Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T02:56:35.5546327Z               "line": 211
2026-06-05T02:56:35.5553913Z             },
2026-06-05T02:56:35.5554600Z             {
2026-06-05T02:56:35.5555293Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-05T02:56:35.5556157Z               "line": 224
2026-06-05T02:56:35.5556798Z             }
2026-06-05T02:56:35.5557373Z           ]
2026-06-05T02:56:35.5557922Z         }
2026-06-05T02:56:35.5558480Z       }
2026-06-05T02:56:35.5559038Z     },
2026-06-05T02:56:35.5559875Z     {
2026-06-05T02:56:35.5560613Z       "id": "REQ-EP-3",
2026-06-05T02:56:35.5561586Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-05T02:56:35.5562695Z       "requiredStages": [
2026-06-05T02:56:35.5563387Z         "impl",
2026-06-05T02:56:35.5563982Z         "unit"
2026-06-05T02:56:35.5564644Z       ],
2026-06-05T02:56:35.5565204Z       "stages": {
2026-06-05T02:56:35.5565826Z         "doc": {
2026-06-05T02:56:35.5566447Z           "complete": false,
2026-06-05T02:56:35.5567163Z           "evidence": []
2026-06-05T02:56:35.5567818Z         },
2026-06-05T02:56:35.5568377Z         "impl": {
2026-06-05T02:56:35.5568993Z           "complete": true,
2026-06-05T02:56:35.5570104Z           "evidence": [
2026-06-05T02:56:35.5570812Z             {
2026-06-05T02:56:35.5571544Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-05T02:56:35.5572416Z               "line": 31
2026-06-05T02:56:35.5573115Z             },
2026-06-05T02:56:35.5573721Z             {
2026-06-05T02:56:35.5574424Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-05T02:56:35.5575297Z               "line": 49
2026-06-05T02:56:35.5575946Z             }
2026-06-05T02:56:35.5576527Z           ]
2026-06-05T02:56:35.5577107Z         },
2026-06-05T02:56:35.5577678Z         "int": {
2026-06-05T02:56:35.5578814Z           "complete": false,
2026-06-05T02:56:35.5579804Z           "evidence": []
2026-06-05T02:56:35.5580880Z         },
2026-06-05T02:56:35.5581475Z         "unit": {
2026-06-05T02:56:35.5582106Z           "complete": true,
2026-06-05T02:56:35.5582801Z           "evidence": [
2026-06-05T02:56:35.5583454Z             {
2026-06-05T02:56:35.5584150Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-05T02:56:35.5585029Z               "line": 156
2026-06-05T02:56:35.5585709Z             },
2026-06-05T02:56:35.5586309Z             {
2026-06-05T02:56:35.5587021Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-05T02:56:35.5587897Z               "line": 164
2026-06-05T02:56:35.5588556Z             },
2026-06-05T02:56:35.5589146Z             {
2026-06-05T02:56:35.5590277Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-05T02:56:35.5591139Z               "line": 177
2026-06-05T02:56:35.5591816Z             },
2026-06-05T02:56:35.5592414Z             {
2026-06-05T02:56:35.5593168Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-05T02:56:35.5594040Z               "line": 197
2026-06-05T02:56:35.5594706Z             },
2026-06-05T02:56:35.5595279Z             {
2026-06-05T02:56:35.5596000Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-05T02:56:35.5596916Z               "line": 213
2026-06-05T02:56:35.5597605Z             },
2026-06-05T02:56:35.5598191Z             {
2026-06-05T02:56:35.5598886Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-05T02:56:35.5600062Z               "line": 227
2026-06-05T02:56:35.5600971Z             }
2026-06-05T02:56:35.5601570Z           ]
2026-06-05T02:56:35.5602154Z         }
2026-06-05T02:56:35.5602715Z       }
2026-06-05T02:56:35.5603266Z     },
2026-06-05T02:56:35.5603810Z     {
2026-06-05T02:56:35.5604399Z       "id": "REQ-EP-4",
2026-06-05T02:56:35.5605273Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-05T02:56:35.5606249Z       "requiredStages": [
2026-06-05T02:56:35.5607038Z         "impl",
2026-06-05T02:56:35.5607651Z         "unit"
2026-06-05T02:56:35.5608281Z       ],
2026-06-05T02:56:35.5608858Z       "stages": {
2026-06-05T02:56:35.5609722Z         "doc": {
2026-06-05T02:56:35.5610555Z           "complete": false,
2026-06-05T02:56:35.5611281Z           "evidence": []
2026-06-05T02:56:35.5611984Z         },
2026-06-05T02:56:35.5620379Z         "impl": {
2026-06-05T02:56:35.5621425Z           "complete": true,
2026-06-05T02:56:35.5622186Z           "evidence": [
2026-06-05T02:56:35.5622882Z             {
2026-06-05T02:56:35.5623640Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T02:56:35.5624583Z               "line": 419
2026-06-05T02:56:35.5625295Z             },
2026-06-05T02:56:35.5625952Z             {
2026-06-05T02:56:35.5626683Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T02:56:35.5627610Z               "line": 631
2026-06-05T02:56:35.5628342Z             },
2026-06-05T02:56:35.5629093Z             {
2026-06-05T02:56:35.5629977Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T02:56:35.5631026Z               "line": 705
2026-06-05T02:56:35.5631756Z             },
2026-06-05T02:56:35.5632410Z             {
2026-06-05T02:56:35.5633182Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-05T02:56:35.5634217Z               "line": 83
2026-06-05T02:56:35.5635013Z             },
2026-06-05T02:56:35.5635712Z             {
2026-06-05T02:56:35.5636446Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-05T02:56:35.5637412Z               "line": 407
2026-06-05T02:56:35.5638100Z             },
2026-06-05T02:56:35.5638706Z             {
2026-06-05T02:56:35.5639503Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-05T02:56:35.5640527Z               "line": 478
2026-06-05T02:56:35.5641195Z             },
2026-06-05T02:56:35.5641786Z             {
2026-06-05T02:56:35.5642500Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T02:56:35.5643898Z               "line": 181
2026-06-05T02:56:35.5644568Z             },
2026-06-05T02:56:35.5645173Z             {
2026-06-05T02:56:35.5646141Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T02:56:35.5647019Z               "line": 306
2026-06-05T02:56:35.5647675Z             },
2026-06-05T02:56:35.5648275Z             {
2026-06-05T02:56:35.5649010Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-05T02:56:35.5650328Z               "line": 613
2026-06-05T02:56:35.5650998Z             }
2026-06-05T02:56:35.5651567Z           ]
2026-06-05T02:56:35.5652114Z         },
2026-06-05T02:56:35.5652679Z         "int": {
2026-06-05T02:56:35.5653294Z           "complete": false,
2026-06-05T02:56:35.5654023Z           "evidence": []
2026-06-05T02:56:35.5654707Z         },
2026-06-05T02:56:35.5655307Z         "unit": {
2026-06-05T02:56:35.5655935Z           "complete": true,
2026-06-05T02:56:35.5656612Z           "evidence": [
2026-06-05T02:56:35.5657257Z             {
2026-06-05T02:56:35.5657973Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-05T02:56:35.5658840Z               "line": 551
2026-06-05T02:56:35.5659784Z             },
2026-06-05T02:56:35.5660552Z             {
2026-06-05T02:56:35.5661258Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-05T02:56:35.5662147Z               "line": 75
2026-06-05T02:56:35.5662799Z             },
2026-06-05T02:56:35.5663394Z             {
2026-06-05T02:56:35.5664101Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-05T02:56:35.5664975Z               "line": 131
2026-06-05T02:56:35.5665636Z             }
2026-06-05T02:56:35.5666218Z           ]
2026-06-05T02:56:35.5666801Z         }
2026-06-05T02:56:35.5667366Z       }
2026-06-05T02:56:35.5667890Z     },
2026-06-05T02:56:35.5668434Z     {
2026-06-05T02:56:35.5669015Z       "id": "REQ-EP-5",
2026-06-05T02:56:35.5672043Z       "title": "Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope",
2026-06-05T02:56:35.5674789Z       "requiredStages": [
2026-06-05T02:56:35.5675486Z         "impl",
2026-06-05T02:56:35.5676095Z         "unit"
2026-06-05T02:56:35.5676674Z       ],
2026-06-05T02:56:35.5677220Z       "stages": {
2026-06-05T02:56:35.5677848Z         "doc": {
2026-06-05T02:56:35.5678505Z           "complete": false,
2026-06-05T02:56:35.5679316Z           "evidence": []
2026-06-05T02:56:35.5680390Z         },
2026-06-05T02:56:35.5681001Z         "impl": {
2026-06-05T02:56:35.5681657Z           "complete": true,
2026-06-05T02:56:35.5682363Z           "evidence": [
2026-06-05T02:56:35.5683044Z             {
2026-06-05T02:56:35.5697649Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-05T02:56:35.5699051Z               "line": 18
2026-06-05T02:56:35.5700074Z             },
2026-06-05T02:56:35.5700654Z             {
2026-06-05T02:56:35.5701444Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-05T02:56:35.5702350Z               "line": 58
2026-06-05T02:56:35.5703034Z             },
2026-06-05T02:56:35.5703630Z             {
2026-06-05T02:56:35.5704360Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-05T02:56:35.5705241Z               "line": 101
2026-06-05T02:56:35.5705921Z             },
2026-06-05T02:56:35.5706518Z             {
2026-06-05T02:56:35.5707236Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T02:56:35.5708113Z               "line": 22
2026-06-05T02:56:35.5708748Z             },
2026-06-05T02:56:35.5709554Z             {
2026-06-05T02:56:35.5710421Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T02:56:35.5711354Z               "line": 129
2026-06-05T02:56:35.5712059Z             },
2026-06-05T02:56:35.5712673Z             {
2026-06-05T02:56:35.5713416Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T02:56:35.5714320Z               "line": 156
2026-06-05T02:56:35.5715583Z             },
2026-06-05T02:56:35.5716183Z             {
2026-06-05T02:56:35.5717132Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T02:56:35.5718095Z               "line": 178
2026-06-05T02:56:35.5718771Z             },
2026-06-05T02:56:35.5719616Z             {
2026-06-05T02:56:35.5720559Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T02:56:35.5721460Z               "line": 203
2026-06-05T02:56:35.5722133Z             },
2026-06-05T02:56:35.5722719Z             {
2026-06-05T02:56:35.5723484Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T02:56:35.5724476Z               "line": 226
2026-06-05T02:56:35.5725209Z             },
2026-06-05T02:56:35.5726045Z             {
2026-06-05T02:56:35.5726965Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T02:56:35.5728051Z               "line": 246
2026-06-05T02:56:35.5728867Z             },
2026-06-05T02:56:35.5729753Z             {
2026-06-05T02:56:35.5730540Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.5731422Z               "line": 81
2026-06-05T02:56:35.5732425Z             },
2026-06-05T02:56:35.5733034Z             {
2026-06-05T02:56:35.5733703Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.5734580Z               "line": 1715
2026-06-05T02:56:35.5735271Z             },
2026-06-05T02:56:35.5735858Z             {
2026-06-05T02:56:35.5736507Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.5737750Z               "line": 1832
2026-06-05T02:56:35.5738494Z             },
2026-06-05T02:56:35.5739099Z             {
2026-06-05T02:56:35.5739879Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.5740745Z               "line": 1982
2026-06-05T02:56:35.5741450Z             },
2026-06-05T02:56:35.5742087Z             {
2026-06-05T02:56:35.5742760Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.5743607Z               "line": 2275
2026-06-05T02:56:35.5744322Z             }
2026-06-05T02:56:35.5744927Z           ]
2026-06-05T02:56:35.5745527Z         },
2026-06-05T02:56:35.5746149Z         "int": {
2026-06-05T02:56:35.5746785Z           "complete": true,
2026-06-05T02:56:35.5747470Z           "evidence": [
2026-06-05T02:56:35.5748097Z             {
2026-06-05T02:56:35.5748767Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-05T02:56:35.5749993Z               "line": 15
2026-06-05T02:56:35.5751008Z             }
2026-06-05T02:56:35.5751700Z           ]
2026-06-05T02:56:35.5752233Z         },
2026-06-05T02:56:35.5752792Z         "unit": {
2026-06-05T02:56:35.5753396Z           "complete": true,
2026-06-05T02:56:35.5754069Z           "evidence": [
2026-06-05T02:56:35.5754674Z             {
2026-06-05T02:56:35.5755353Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-05T02:56:35.5756199Z               "line": 149
2026-06-05T02:56:35.5756824Z             },
2026-06-05T02:56:35.5757389Z             {
2026-06-05T02:56:35.5758086Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-05T02:56:35.5766214Z               "line": 206
2026-06-05T02:56:35.5766920Z             },
2026-06-05T02:56:35.5767509Z             {
2026-06-05T02:56:35.5768189Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T02:56:35.5769035Z               "line": 262
2026-06-05T02:56:35.5769895Z             },
2026-06-05T02:56:35.5770452Z             {
2026-06-05T02:56:35.5771111Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T02:56:35.5771943Z               "line": 285
2026-06-05T02:56:35.5772556Z             },
2026-06-05T02:56:35.5773102Z             {
2026-06-05T02:56:35.5773755Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.5774560Z               "line": 459
2026-06-05T02:56:35.5775175Z             },
2026-06-05T02:56:35.5775731Z             {
2026-06-05T02:56:35.5776342Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.5777126Z               "line": 2697
2026-06-05T02:56:35.5778220Z             },
2026-06-05T02:56:35.5778782Z             {
2026-06-05T02:56:35.5780005Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.5780799Z               "line": 2755
2026-06-05T02:56:35.5781426Z             },
2026-06-05T02:56:35.5781980Z             {
2026-06-05T02:56:35.5782599Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.5783379Z               "line": 3248
2026-06-05T02:56:35.5784014Z             },
2026-06-05T02:56:35.5784566Z             {
2026-06-05T02:56:35.5785171Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.5785940Z               "line": 3303
2026-06-05T02:56:35.5786564Z             }
2026-06-05T02:56:35.5787103Z           ]
2026-06-05T02:56:35.5787624Z         }
2026-06-05T02:56:35.5788143Z       }
2026-06-05T02:56:35.5788669Z     },
2026-06-05T02:56:35.5789220Z     {
2026-06-05T02:56:35.5790106Z       "id": "REQ-FRONT-1",
2026-06-05T02:56:35.5791028Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-05T02:56:35.5792060Z       "requiredStages": [],
2026-06-05T02:56:35.5792722Z       "stages": {
2026-06-05T02:56:35.5793302Z         "doc": {
2026-06-05T02:56:35.5793894Z           "complete": false,
2026-06-05T02:56:35.5794562Z           "evidence": []
2026-06-05T02:56:35.5795180Z         },
2026-06-05T02:56:35.5795715Z         "impl": {
2026-06-05T02:56:35.5795975Z           "complete": false,
2026-06-05T02:56:35.5796235Z           "evidence": []
2026-06-05T02:56:35.5796462Z         },
2026-06-05T02:56:35.5796705Z         "int": {
2026-06-05T02:56:35.5796968Z           "complete": false,
2026-06-05T02:56:35.5797215Z           "evidence": []
2026-06-05T02:56:35.5797452Z         },
2026-06-05T02:56:35.5797686Z         "unit": {
2026-06-05T02:56:35.5797950Z           "complete": false,
2026-06-05T02:56:35.5798197Z           "evidence": []
2026-06-05T02:56:35.5798437Z         }
2026-06-05T02:56:35.5798671Z       }
2026-06-05T02:56:35.5798901Z     },
2026-06-05T02:56:35.5799141Z     {
2026-06-05T02:56:35.5799832Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-05T02:56:35.5800371Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-05T02:56:35.5800633Z       "requiredStages": [
2026-06-05T02:56:35.5800882Z         "impl",
2026-06-05T02:56:35.5801125Z         "unit"
2026-06-05T02:56:35.5801355Z       ],
2026-06-05T02:56:35.5801605Z       "stages": {
2026-06-05T02:56:35.5801835Z         "doc": {
2026-06-05T02:56:35.5802098Z           "complete": false,
2026-06-05T02:56:35.5802339Z           "evidence": []
2026-06-05T02:56:35.5802575Z         },
2026-06-05T02:56:35.5802817Z         "impl": {
2026-06-05T02:56:35.5803067Z           "complete": true,
2026-06-05T02:56:35.5803317Z           "evidence": [
2026-06-05T02:56:35.5803546Z             {
2026-06-05T02:56:35.5803904Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.5804151Z               "line": 131
2026-06-05T02:56:35.5804392Z             },
2026-06-05T02:56:35.5804637Z             {
2026-06-05T02:56:35.5804958Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T02:56:35.5805227Z               "line": 18
2026-06-05T02:56:35.5805461Z             },
2026-06-05T02:56:35.5805701Z             {
2026-06-05T02:56:35.5806025Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T02:56:35.5806279Z               "line": 98
2026-06-05T02:56:35.5806515Z             }
2026-06-05T02:56:35.5806743Z           ]
2026-06-05T02:56:35.5806978Z         },
2026-06-05T02:56:35.5807211Z         "int": {
2026-06-05T02:56:35.5807476Z           "complete": false,
2026-06-05T02:56:35.5807719Z           "evidence": []
2026-06-05T02:56:35.5807958Z         },
2026-06-05T02:56:35.5808197Z         "unit": {
2026-06-05T02:56:35.5808451Z           "complete": true,
2026-06-05T02:56:35.5808702Z           "evidence": [
2026-06-05T02:56:35.5808927Z             {
2026-06-05T02:56:35.5809330Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.5809584Z               "line": 515
2026-06-05T02:56:35.5810039Z             },
2026-06-05T02:56:35.5810283Z             {
2026-06-05T02:56:35.5810785Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T02:56:35.5811041Z               "line": 156
2026-06-05T02:56:35.5811275Z             },
2026-06-05T02:56:35.5811511Z             {
2026-06-05T02:56:35.5811830Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T02:56:35.5812095Z               "line": 218
2026-06-05T02:56:35.5812334Z             }
2026-06-05T02:56:35.5812563Z           ]
2026-06-05T02:56:35.5812803Z         }
2026-06-05T02:56:35.5813027Z       }
2026-06-05T02:56:35.5813258Z     },
2026-06-05T02:56:35.5813482Z     {
2026-06-05T02:56:35.5813826Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-05T02:56:35.5815548Z       "title": "A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)",
2026-06-05T02:56:35.5815823Z       "requiredStages": [
2026-06-05T02:56:35.5816068Z         "impl",
2026-06-05T02:56:35.5816307Z         "unit"
2026-06-05T02:56:35.5816545Z       ],
2026-06-05T02:56:35.5816785Z       "stages": {
2026-06-05T02:56:35.5817033Z         "doc": {
2026-06-05T02:56:35.5822724Z           "complete": false,
2026-06-05T02:56:35.5823121Z           "evidence": []
2026-06-05T02:56:35.5823410Z         },
2026-06-05T02:56:35.5823675Z         "impl": {
2026-06-05T02:56:35.5823951Z           "complete": true,
2026-06-05T02:56:35.5824197Z           "evidence": [
2026-06-05T02:56:35.5824443Z             {
2026-06-05T02:56:35.5824820Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-05T02:56:35.5825064Z               "line": 22
2026-06-05T02:56:35.5825307Z             },
2026-06-05T02:56:35.5825535Z             {
2026-06-05T02:56:35.5825869Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T02:56:35.5826128Z               "line": 417
2026-06-05T02:56:35.5826404Z             },
2026-06-05T02:56:35.5826646Z             {
2026-06-05T02:56:35.5826986Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-05T02:56:35.5827250Z               "line": 17
2026-06-05T02:56:35.5827481Z             },
2026-06-05T02:56:35.5827715Z             {
2026-06-05T02:56:35.5828062Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-05T02:56:35.5828312Z               "line": 125
2026-06-05T02:56:35.5828552Z             },
2026-06-05T02:56:35.5828779Z             {
2026-06-05T02:56:35.5829150Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.5829771Z               "line": 178
2026-06-05T02:56:35.5830018Z             },
2026-06-05T02:56:35.5830253Z             {
2026-06-05T02:56:35.5830619Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.5830875Z               "line": 206
2026-06-05T02:56:35.5831114Z             },
2026-06-05T02:56:35.5831351Z             {
2026-06-05T02:56:35.5831725Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.5831981Z               "line": 232
2026-06-05T02:56:35.5832233Z             },
2026-06-05T02:56:35.5832458Z             {
2026-06-05T02:56:35.5832811Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T02:56:35.5833063Z               "line": 122
2026-06-05T02:56:35.5833298Z             },
2026-06-05T02:56:35.5833525Z             {
2026-06-05T02:56:35.5833880Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T02:56:35.5834142Z               "line": 222
2026-06-05T02:56:35.5834375Z             }
2026-06-05T02:56:35.5834614Z           ]
2026-06-05T02:56:35.5834839Z         },
2026-06-05T02:56:35.5835081Z         "int": {
2026-06-05T02:56:35.5835341Z           "complete": false,
2026-06-05T02:56:35.5835597Z           "evidence": []
2026-06-05T02:56:35.5835836Z         },
2026-06-05T02:56:35.5836069Z         "unit": {
2026-06-05T02:56:35.5836335Z           "complete": true,
2026-06-05T02:56:35.5836859Z           "evidence": [
2026-06-05T02:56:35.5837104Z             {
2026-06-05T02:56:35.5837460Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-05T02:56:35.5837857Z               "line": 53
2026-06-05T02:56:35.5838100Z             },
2026-06-05T02:56:35.5838328Z             {
2026-06-05T02:56:35.5838694Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-05T02:56:35.5838940Z               "line": 60
2026-06-05T02:56:35.5839237Z             },
2026-06-05T02:56:35.5839470Z             {
2026-06-05T02:56:35.5840029Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-05T02:56:35.5840441Z               "line": 72
2026-06-05T02:56:35.5840671Z             },
2026-06-05T02:56:35.5840909Z             {
2026-06-05T02:56:35.5841244Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-05T02:56:35.5841498Z               "line": 298
2026-06-05T02:56:35.5841731Z             },
2026-06-05T02:56:35.5841969Z             {
2026-06-05T02:56:35.5842321Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-05T02:56:35.5842575Z               "line": 247
2026-06-05T02:56:35.5842825Z             },
2026-06-05T02:56:35.5843055Z             {
2026-06-05T02:56:35.5843408Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-05T02:56:35.5843661Z               "line": 282
2026-06-05T02:56:35.5843893Z             },
2026-06-05T02:56:35.5844134Z             {
2026-06-05T02:56:35.5844475Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-05T02:56:35.5844730Z               "line": 313
2026-06-05T02:56:35.5844963Z             },
2026-06-05T02:56:35.5845205Z             {
2026-06-05T02:56:35.5845579Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.5845828Z               "line": 613
2026-06-05T02:56:35.5846062Z             },
2026-06-05T02:56:35.5846292Z             {
2026-06-05T02:56:35.5846645Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T02:56:35.5846885Z               "line": 383
2026-06-05T02:56:35.5847138Z             },
2026-06-05T02:56:35.5847376Z             {
2026-06-05T02:56:35.5847737Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T02:56:35.5847990Z               "line": 420
2026-06-05T02:56:35.5848216Z             }
2026-06-05T02:56:35.5848451Z           ]
2026-06-05T02:56:35.5848676Z         }
2026-06-05T02:56:35.5848912Z       }
2026-06-05T02:56:35.5849148Z     },
2026-06-05T02:56:35.5849708Z     {
2026-06-05T02:56:35.5850017Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-05T02:56:35.5850667Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-05T02:56:35.5850946Z       "requiredStages": [
2026-06-05T02:56:35.5851182Z         "impl",
2026-06-05T02:56:35.5851428Z         "unit"
2026-06-05T02:56:35.5851668Z       ],
2026-06-05T02:56:35.5851902Z       "stages": {
2026-06-05T02:56:35.5852143Z         "doc": {
2026-06-05T02:56:35.5852408Z           "complete": false,
2026-06-05T02:56:35.5852665Z           "evidence": []
2026-06-05T02:56:35.5852908Z         },
2026-06-05T02:56:35.5853155Z         "impl": {
2026-06-05T02:56:35.5853432Z           "complete": true,
2026-06-05T02:56:35.5853678Z           "evidence": [
2026-06-05T02:56:35.5853913Z             {
2026-06-05T02:56:35.5854242Z               "path": "crates/spt-term/src/reader.rs",
2026-06-05T02:56:35.5854494Z               "line": 164
2026-06-05T02:56:35.5854725Z             }
2026-06-05T02:56:35.5854969Z           ]
2026-06-05T02:56:35.5855214Z         },
2026-06-05T02:56:35.5855448Z         "int": {
2026-06-05T02:56:35.5855712Z           "complete": true,
2026-06-05T02:56:35.5855952Z           "evidence": [
2026-06-05T02:56:35.5856190Z             {
2026-06-05T02:56:35.5856516Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-05T02:56:35.5856767Z               "line": 44
2026-06-05T02:56:35.5857015Z             },
2026-06-05T02:56:35.5857239Z             {
2026-06-05T02:56:35.5857571Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-05T02:56:35.5857989Z               "line": 66
2026-06-05T02:56:35.5858231Z             }
2026-06-05T02:56:35.5858593Z           ]
2026-06-05T02:56:35.5858838Z         },
2026-06-05T02:56:35.5859084Z         "unit": {
2026-06-05T02:56:35.5859620Z           "complete": true,
2026-06-05T02:56:35.5860030Z           "evidence": [
2026-06-05T02:56:35.5860260Z             {
2026-06-05T02:56:35.5860606Z               "path": "crates/spt-term/src/reader.rs",
2026-06-05T02:56:35.5860849Z               "line": 181
2026-06-05T02:56:35.5861085Z             },
2026-06-05T02:56:35.5861329Z             {
2026-06-05T02:56:35.5861659Z               "path": "crates/spt-term/src/reader.rs",
2026-06-05T02:56:35.5861913Z               "line": 233
2026-06-05T02:56:35.5862150Z             },
2026-06-05T02:56:35.5862389Z             {
2026-06-05T02:56:35.5862712Z               "path": "crates/spt-term/src/reader.rs",
2026-06-05T02:56:35.5862966Z               "line": 261
2026-06-05T02:56:35.5863205Z             }
2026-06-05T02:56:35.5863448Z           ]
2026-06-05T02:56:35.5863679Z         }
2026-06-05T02:56:35.5863903Z       }
2026-06-05T02:56:35.5864153Z     },
2026-06-05T02:56:35.5864377Z     {
2026-06-05T02:56:35.5864715Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-05T02:56:35.5866024Z       "title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)",
2026-06-05T02:56:35.5866290Z       "requiredStages": [
2026-06-05T02:56:35.5866531Z         "impl",
2026-06-05T02:56:35.5866759Z         "unit",
2026-06-05T02:56:35.5867000Z         "int"
2026-06-05T02:56:35.5867227Z       ],
2026-06-05T02:56:35.5867472Z       "stages": {
2026-06-05T02:56:35.5867718Z         "doc": {
2026-06-05T02:56:35.5867981Z           "complete": false,
2026-06-05T02:56:35.5868237Z           "evidence": []
2026-06-05T02:56:35.5868465Z         },
2026-06-05T02:56:35.5873279Z         "impl": {
2026-06-05T02:56:35.5873721Z           "complete": true,
2026-06-05T02:56:35.5874033Z           "evidence": [
2026-06-05T02:56:35.5874280Z             {
2026-06-05T02:56:35.5874664Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.5874919Z               "line": 150
2026-06-05T02:56:35.5875147Z             },
2026-06-05T02:56:35.5875389Z             {
2026-06-05T02:56:35.5875741Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.5876004Z               "line": 169
2026-06-05T02:56:35.5876242Z             },
2026-06-05T02:56:35.5876475Z             {
2026-06-05T02:56:35.5876807Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T02:56:35.5877050Z               "line": 79
2026-06-05T02:56:35.5877292Z             },
2026-06-05T02:56:35.5877534Z             {
2026-06-05T02:56:35.5877844Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T02:56:35.5878095Z               "line": 51
2026-06-05T02:56:35.5878327Z             },
2026-06-05T02:56:35.5878562Z             {
2026-06-05T02:56:35.5878889Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T02:56:35.5879144Z               "line": 154
2026-06-05T02:56:35.5879781Z             },
2026-06-05T02:56:35.5880015Z             {
2026-06-05T02:56:35.5880362Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-05T02:56:35.5880609Z               "line": 27
2026-06-05T02:56:35.5880848Z             },
2026-06-05T02:56:35.5881076Z             {
2026-06-05T02:56:35.5881433Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-05T02:56:35.5881695Z               "line": 79
2026-06-05T02:56:35.5881927Z             },
2026-06-05T02:56:35.5882163Z             {
2026-06-05T02:56:35.5882503Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-05T02:56:35.5882758Z               "line": 102
2026-06-05T02:56:35.5882986Z             },
2026-06-05T02:56:35.5883231Z             {
2026-06-05T02:56:35.5883581Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T02:56:35.5883827Z               "line": 108
2026-06-05T02:56:35.5884326Z             }
2026-06-05T02:56:35.5884560Z           ]
2026-06-05T02:56:35.5884930Z         },
2026-06-05T02:56:35.5885169Z         "int": {
2026-06-05T02:56:35.5885440Z           "complete": true,
2026-06-05T02:56:35.5885697Z           "evidence": [
2026-06-05T02:56:35.5885928Z             {
2026-06-05T02:56:35.5886306Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-05T02:56:35.5886553Z               "line": 35
2026-06-05T02:56:35.5886792Z             }
2026-06-05T02:56:35.5887022Z           ]
2026-06-05T02:56:35.5887261Z         },
2026-06-05T02:56:35.5887507Z         "unit": {
2026-06-05T02:56:35.5887764Z           "complete": true,
2026-06-05T02:56:35.5888021Z           "evidence": [
2026-06-05T02:56:35.5888257Z             {
2026-06-05T02:56:35.5888621Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.5888871Z               "line": 552
2026-06-05T02:56:35.5889116Z             },
2026-06-05T02:56:35.5889617Z             {
2026-06-05T02:56:35.5890132Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T02:56:35.5890398Z               "line": 330
2026-06-05T02:56:35.5890631Z             },
2026-06-05T02:56:35.5890873Z             {
2026-06-05T02:56:35.5891215Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-05T02:56:35.5891474Z               "line": 124
2026-06-05T02:56:35.5891716Z             },
2026-06-05T02:56:35.5891942Z             {
2026-06-05T02:56:35.5892294Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-05T02:56:35.5892539Z               "line": 136
2026-06-05T02:56:35.5892785Z             },
2026-06-05T02:56:35.5893016Z             {
2026-06-05T02:56:35.5893366Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-05T02:56:35.5893623Z               "line": 146
2026-06-05T02:56:35.5893859Z             },
2026-06-05T02:56:35.5894099Z             {
2026-06-05T02:56:35.5894440Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-05T02:56:35.5894712Z               "line": 159
2026-06-05T02:56:35.5894945Z             },
2026-06-05T02:56:35.5895195Z             {
2026-06-05T02:56:35.5895545Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-05T02:56:35.5895798Z               "line": 171
2026-06-05T02:56:35.5896040Z             },
2026-06-05T02:56:35.5896273Z             {
2026-06-05T02:56:35.5896620Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T02:56:35.5896881Z               "line": 207
2026-06-05T02:56:35.5897110Z             }
2026-06-05T02:56:35.5897345Z           ]
2026-06-05T02:56:35.5897572Z         }
2026-06-05T02:56:35.5897810Z       }
2026-06-05T02:56:35.5898036Z     },
2026-06-05T02:56:35.5898275Z     {
2026-06-05T02:56:35.5898612Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-05T02:56:35.5900636Z       "title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)",
2026-06-05T02:56:35.5900932Z       "requiredStages": [
2026-06-05T02:56:35.5901169Z         "impl",
2026-06-05T02:56:35.5901418Z         "unit"
2026-06-05T02:56:35.5901648Z       ],
2026-06-05T02:56:35.5901898Z       "stages": {
2026-06-05T02:56:35.5902146Z         "doc": {
2026-06-05T02:56:35.5902405Z           "complete": false,
2026-06-05T02:56:35.5902659Z           "evidence": []
2026-06-05T02:56:35.5902887Z         },
2026-06-05T02:56:35.5903133Z         "impl": {
2026-06-05T02:56:35.5903577Z           "complete": true,
2026-06-05T02:56:35.5903897Z           "evidence": [
2026-06-05T02:56:35.5904205Z             {
2026-06-05T02:56:35.5904732Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T02:56:35.5905014Z               "line": 222
2026-06-05T02:56:35.5905248Z             },
2026-06-05T02:56:35.5905494Z             {
2026-06-05T02:56:35.5905835Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T02:56:35.5906342Z               "line": 382
2026-06-05T02:56:35.5906582Z             }
2026-06-05T02:56:35.5906956Z           ]
2026-06-05T02:56:35.5907198Z         },
2026-06-05T02:56:35.5907431Z         "int": {
2026-06-05T02:56:35.5907707Z           "complete": false,
2026-06-05T02:56:35.5907960Z           "evidence": []
2026-06-05T02:56:35.5908200Z         },
2026-06-05T02:56:35.5908443Z         "unit": {
2026-06-05T02:56:35.5908700Z           "complete": true,
2026-06-05T02:56:35.5908955Z           "evidence": [
2026-06-05T02:56:35.5909247Z             {
2026-06-05T02:56:35.5909631Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-05T02:56:35.5909883Z               "line": 149
2026-06-05T02:56:35.5910130Z             }
2026-06-05T02:56:35.5910378Z           ]
2026-06-05T02:56:35.5910612Z         }
2026-06-05T02:56:35.5910848Z       }
2026-06-05T02:56:35.5911078Z     },
2026-06-05T02:56:35.5911318Z     {
2026-06-05T02:56:35.5911611Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-05T02:56:35.5912173Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-05T02:56:35.5912454Z       "requiredStages": [
2026-06-05T02:56:35.5912694Z         "impl",
2026-06-05T02:56:35.5912934Z         "unit"
2026-06-05T02:56:35.5913160Z       ],
2026-06-05T02:56:35.5913411Z       "stages": {
2026-06-05T02:56:35.5913644Z         "doc": {
2026-06-05T02:56:35.5913918Z           "complete": false,
2026-06-05T02:56:35.5914176Z           "evidence": []
2026-06-05T02:56:35.5914411Z         },
2026-06-05T02:56:35.5914656Z         "impl": {
2026-06-05T02:56:35.5914909Z           "complete": true,
2026-06-05T02:56:35.5915176Z           "evidence": [
2026-06-05T02:56:35.5915408Z             {
2026-06-05T02:56:35.5915747Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.5916003Z               "line": 40
2026-06-05T02:56:35.5916236Z             },
2026-06-05T02:56:35.5916477Z             {
2026-06-05T02:56:35.5916803Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.5917065Z               "line": 98
2026-06-05T02:56:35.5917292Z             },
2026-06-05T02:56:35.5917539Z             {
2026-06-05T02:56:35.5917876Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.5918122Z               "line": 209
2026-06-05T02:56:35.5918363Z             },
2026-06-05T02:56:35.5918597Z             {
2026-06-05T02:56:35.5918934Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.5919239Z               "line": 291
2026-06-05T02:56:35.5919488Z             }
2026-06-05T02:56:35.5919730Z           ]
2026-06-05T02:56:35.5919963Z         },
2026-06-05T02:56:35.5924610Z         "int": {
2026-06-05T02:56:35.5925048Z           "complete": false,
2026-06-05T02:56:35.5925325Z           "evidence": []
2026-06-05T02:56:35.5925564Z         },
2026-06-05T02:56:35.5925816Z         "unit": {
2026-06-05T02:56:35.5926087Z           "complete": true,
2026-06-05T02:56:35.5926338Z           "evidence": [
2026-06-05T02:56:35.5926612Z             {
2026-06-05T02:56:35.5926950Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.5927227Z               "line": 326
2026-06-05T02:56:35.5927458Z             },
2026-06-05T02:56:35.5927703Z             {
2026-06-05T02:56:35.5928040Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.5928296Z               "line": 372
2026-06-05T02:56:35.5928539Z             },
2026-06-05T02:56:35.5928772Z             {
2026-06-05T02:56:35.5929107Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.5929445Z               "line": 413
2026-06-05T02:56:35.5929680Z             },
2026-06-05T02:56:35.5929921Z             {
2026-06-05T02:56:35.5930247Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.5930502Z               "line": 432
2026-06-05T02:56:35.5930728Z             }
2026-06-05T02:56:35.5930965Z           ]
2026-06-05T02:56:35.5931204Z         }
2026-06-05T02:56:35.5931441Z       }
2026-06-05T02:56:35.5931930Z     },
2026-06-05T02:56:35.5932163Z     {
2026-06-05T02:56:35.5932511Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-05T02:56:35.5933016Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-05T02:56:35.5933294Z       "requiredStages": [
2026-06-05T02:56:35.5933541Z         "impl",
2026-06-05T02:56:35.5933775Z         "unit"
2026-06-05T02:56:35.5934016Z       ],
2026-06-05T02:56:35.5934258Z       "stages": {
2026-06-05T02:56:35.5934500Z         "doc": {
2026-06-05T02:56:35.5934760Z           "complete": false,
2026-06-05T02:56:35.5935018Z           "evidence": []
2026-06-05T02:56:35.5935248Z         },
2026-06-05T02:56:35.5935494Z         "impl": {
2026-06-05T02:56:35.5935764Z           "complete": true,
2026-06-05T02:56:35.5936009Z           "evidence": [
2026-06-05T02:56:35.5936246Z             {
2026-06-05T02:56:35.5936570Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.5936832Z               "line": 111
2026-06-05T02:56:35.5937063Z             },
2026-06-05T02:56:35.5937312Z             {
2026-06-05T02:56:35.5937646Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.5937909Z               "line": 202
2026-06-05T02:56:35.5938154Z             }
2026-06-05T02:56:35.5938385Z           ]
2026-06-05T02:56:35.5938629Z         },
2026-06-05T02:56:35.5938862Z         "int": {
2026-06-05T02:56:35.5939132Z           "complete": false,
2026-06-05T02:56:35.5939437Z           "evidence": []
2026-06-05T02:56:35.5939668Z         },
2026-06-05T02:56:35.5939917Z         "unit": {
2026-06-05T02:56:35.5940172Z           "complete": true,
2026-06-05T02:56:35.5940434Z           "evidence": [
2026-06-05T02:56:35.5940664Z             {
2026-06-05T02:56:35.5941018Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.5941320Z               "line": 347
2026-06-05T02:56:35.5941600Z             },
2026-06-05T02:56:35.5942164Z             {
2026-06-05T02:56:35.5942525Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.5943004Z               "line": 391
2026-06-05T02:56:35.5943314Z             }
2026-06-05T02:56:35.5943618Z           ]
2026-06-05T02:56:35.5943924Z         }
2026-06-05T02:56:35.5944216Z       }
2026-06-05T02:56:35.5944509Z     },
2026-06-05T02:56:35.5944785Z     {
2026-06-05T02:56:35.5945244Z       "id": "REQ-HAZARD-DETACHED-PIPE-INHERIT",
2026-06-05T02:56:35.5949024Z       "title": "Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)",
2026-06-05T02:56:35.5949386Z       "requiredStages": [
2026-06-05T02:56:35.5949970Z         "impl",
2026-06-05T02:56:35.5950231Z         "unit"
2026-06-05T02:56:35.5950473Z       ],
2026-06-05T02:56:35.5950724Z       "stages": {
2026-06-05T02:56:35.5950965Z         "doc": {
2026-06-05T02:56:35.5951265Z           "complete": true,
2026-06-05T02:56:35.5951520Z           "evidence": [
2026-06-05T02:56:35.5951779Z             {
2026-06-05T02:56:35.5952082Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-05T02:56:35.5952346Z               "line": 188
2026-06-05T02:56:35.5952591Z             }
2026-06-05T02:56:35.5952826Z           ]
2026-06-05T02:56:35.5953071Z         },
2026-06-05T02:56:35.5953311Z         "impl": {
2026-06-05T02:56:35.5953575Z           "complete": true,
2026-06-05T02:56:35.5953824Z           "evidence": [
2026-06-05T02:56:35.5954073Z             {
2026-06-05T02:56:35.5954427Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-05T02:56:35.5954691Z               "line": 250
2026-06-05T02:56:35.5954932Z             },
2026-06-05T02:56:35.5955167Z             {
2026-06-05T02:56:35.5955522Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-05T02:56:35.5955780Z               "line": 340
2026-06-05T02:56:35.5956032Z             },
2026-06-05T02:56:35.5956547Z             {
2026-06-05T02:56:35.5956908Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T02:56:35.5957301Z               "line": 178
2026-06-05T02:56:35.5957539Z             }
2026-06-05T02:56:35.5957789Z           ]
2026-06-05T02:56:35.5958026Z         },
2026-06-05T02:56:35.5958272Z         "int": {
2026-06-05T02:56:35.5958548Z           "complete": false,
2026-06-05T02:56:35.5958811Z           "evidence": []
2026-06-05T02:56:35.5959054Z         },
2026-06-05T02:56:35.5959345Z         "unit": {
2026-06-05T02:56:35.5959618Z           "complete": true,
2026-06-05T02:56:35.5959869Z           "evidence": [
2026-06-05T02:56:35.5960110Z             {
2026-06-05T02:56:35.5960468Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-05T02:56:35.5960888Z               "line": 378
2026-06-05T02:56:35.5961158Z             },
2026-06-05T02:56:35.5961398Z             {
2026-06-05T02:56:35.5961734Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-05T02:56:35.5961998Z               "line": 54
2026-06-05T02:56:35.5962244Z             },
2026-06-05T02:56:35.5962494Z             {
2026-06-05T02:56:35.5962876Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-05T02:56:35.5963136Z               "line": 51
2026-06-05T02:56:35.5963373Z             }
2026-06-05T02:56:35.5963618Z           ]
2026-06-05T02:56:35.5963854Z         }
2026-06-05T02:56:35.5964110Z       }
2026-06-05T02:56:35.5964370Z     },
2026-06-05T02:56:35.5964898Z     {
2026-06-05T02:56:35.5965446Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-05T02:56:35.5966228Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-05T02:56:35.5966580Z       "requiredStages": [
2026-06-05T02:56:35.5966859Z         "impl",
2026-06-05T02:56:35.5967120Z         "unit"
2026-06-05T02:56:35.5967375Z       ],
2026-06-05T02:56:35.5967761Z       "stages": {
2026-06-05T02:56:35.5968008Z         "doc": {
2026-06-05T02:56:35.5968290Z           "complete": false,
2026-06-05T02:56:35.5968552Z           "evidence": []
2026-06-05T02:56:35.5968800Z         },
2026-06-05T02:56:35.5969056Z         "impl": {
2026-06-05T02:56:35.5969378Z           "complete": true,
2026-06-05T02:56:35.5969654Z           "evidence": [
2026-06-05T02:56:35.5969903Z             {
2026-06-05T02:56:35.5970429Z               "path": "crates/spt-live/src/context.rs",
2026-06-05T02:56:35.5970701Z               "line": 26
2026-06-05T02:56:35.5970937Z             },
2026-06-05T02:56:35.5971183Z             {
2026-06-05T02:56:35.5971525Z               "path": "crates/spt-live/src/context.rs",
2026-06-05T02:56:35.5971777Z               "line": 126
2026-06-05T02:56:35.5972024Z             },
2026-06-05T02:56:35.5972257Z             {
2026-06-05T02:56:35.5972637Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-05T02:56:35.5972893Z               "line": 26
2026-06-05T02:56:35.5973154Z             },
2026-06-05T02:56:35.5973694Z             {
2026-06-05T02:56:35.5974247Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-05T02:56:35.5974562Z               "line": 233
2026-06-05T02:56:35.5974831Z             }
2026-06-05T02:56:35.5975087Z           ]
2026-06-05T02:56:35.5975327Z         },
2026-06-05T02:56:35.5981656Z         "int": {
2026-06-05T02:56:35.5982216Z           "complete": false,
2026-06-05T02:56:35.5982482Z           "evidence": []
2026-06-05T02:56:35.5982734Z         },
2026-06-05T02:56:35.5982977Z         "unit": {
2026-06-05T02:56:35.5983246Z           "complete": true,
2026-06-05T02:56:35.5983494Z           "evidence": [
2026-06-05T02:56:35.5983736Z             {
2026-06-05T02:56:35.5984088Z               "path": "crates/spt-live/src/context.rs",
2026-06-05T02:56:35.5984333Z               "line": 152
2026-06-05T02:56:35.5984572Z             },
2026-06-05T02:56:35.5984799Z             {
2026-06-05T02:56:35.5985144Z               "path": "crates/spt-live/src/context.rs",
2026-06-05T02:56:35.5985390Z               "line": 161
2026-06-05T02:56:35.5986006Z             },
2026-06-05T02:56:35.5986245Z             {
2026-06-05T02:56:35.5986733Z               "path": "crates/spt-live/src/context.rs",
2026-06-05T02:56:35.5986993Z               "line": 170
2026-06-05T02:56:35.5987223Z             },
2026-06-05T02:56:35.5987467Z             {
2026-06-05T02:56:35.5987804Z               "path": "crates/spt-live/src/context.rs",
2026-06-05T02:56:35.5988067Z               "line": 179
2026-06-05T02:56:35.5988306Z             },
2026-06-05T02:56:35.5988541Z             {
2026-06-05T02:56:35.5988884Z               "path": "crates/spt-live/src/context.rs",
2026-06-05T02:56:35.5989128Z               "line": 188
2026-06-05T02:56:35.5989730Z             },
2026-06-05T02:56:35.5989961Z             {
2026-06-05T02:56:35.5990335Z               "path": "crates/spt-live/src/context.rs",
2026-06-05T02:56:35.5990596Z               "line": 205
2026-06-05T02:56:35.5990828Z             },
2026-06-05T02:56:35.5991066Z             {
2026-06-05T02:56:35.5991396Z               "path": "crates/spt-live/src/context.rs",
2026-06-05T02:56:35.5991660Z               "line": 231
2026-06-05T02:56:35.5991906Z             },
2026-06-05T02:56:35.5992134Z             {
2026-06-05T02:56:35.5992472Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T02:56:35.5992716Z               "line": 245
2026-06-05T02:56:35.5992954Z             },
2026-06-05T02:56:35.5993183Z             {
2026-06-05T02:56:35.5993524Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-05T02:56:35.5993778Z               "line": 212
2026-06-05T02:56:35.5994007Z             },
2026-06-05T02:56:35.5994244Z             {
2026-06-05T02:56:35.5994608Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-05T02:56:35.5994864Z               "line": 256
2026-06-05T02:56:35.5995096Z             },
2026-06-05T02:56:35.5995334Z             {
2026-06-05T02:56:35.5995698Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-05T02:56:35.5995940Z               "line": 281
2026-06-05T02:56:35.5996186Z             },
2026-06-05T02:56:35.5996418Z             {
2026-06-05T02:56:35.5996799Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-05T02:56:35.5997043Z               "line": 293
2026-06-05T02:56:35.5997283Z             },
2026-06-05T02:56:35.5997521Z             {
2026-06-05T02:56:35.5997877Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-05T02:56:35.5998129Z               "line": 303
2026-06-05T02:56:35.5998362Z             },
2026-06-05T02:56:35.5998603Z             {
2026-06-05T02:56:35.5998946Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T02:56:35.5999247Z               "line": 502
2026-06-05T02:56:35.5999669Z             }
2026-06-05T02:56:35.5999906Z           ]
2026-06-05T02:56:35.6000280Z         }
2026-06-05T02:56:35.6000504Z       }
2026-06-05T02:56:35.6000740Z     },
2026-06-05T02:56:35.6000963Z     {
2026-06-05T02:56:35.6001310Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-05T02:56:35.6001752Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-05T02:56:35.6002018Z       "requiredStages": [
2026-06-05T02:56:35.6002268Z         "impl",
2026-06-05T02:56:35.6002497Z         "unit"
2026-06-05T02:56:35.6002736Z       ],
2026-06-05T02:56:35.6002972Z       "stages": {
2026-06-05T02:56:35.6003216Z         "doc": {
2026-06-05T02:56:35.6003483Z           "complete": false,
2026-06-05T02:56:35.6003728Z           "evidence": []
2026-06-05T02:56:35.6003969Z         },
2026-06-05T02:56:35.6004205Z         "impl": {
2026-06-05T02:56:35.6004467Z           "complete": true,
2026-06-05T02:56:35.6004712Z           "evidence": [
2026-06-05T02:56:35.6004947Z             {
2026-06-05T02:56:35.6005274Z               "path": "crates/spt-live/src/echo.rs",
2026-06-05T02:56:35.6005515Z               "line": 25
2026-06-05T02:56:35.6005750Z             },
2026-06-05T02:56:35.6005975Z             {
2026-06-05T02:56:35.6006309Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T02:56:35.6006785Z               "line": 26
2026-06-05T02:56:35.6007026Z             },
2026-06-05T02:56:35.6007389Z             {
2026-06-05T02:56:35.6007721Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T02:56:35.6007976Z               "line": 153
2026-06-05T02:56:35.6008204Z             }
2026-06-05T02:56:35.6008443Z           ]
2026-06-05T02:56:35.6008668Z         },
2026-06-05T02:56:35.6008913Z         "int": {
2026-06-05T02:56:35.6009234Z           "complete": false,
2026-06-05T02:56:35.6009501Z           "evidence": []
2026-06-05T02:56:35.6009740Z         },
2026-06-05T02:56:35.6009973Z         "unit": {
2026-06-05T02:56:35.6010238Z           "complete": true,
2026-06-05T02:56:35.6010483Z           "evidence": [
2026-06-05T02:56:35.6010722Z             {
2026-06-05T02:56:35.6011050Z               "path": "crates/spt-live/src/echo.rs",
2026-06-05T02:56:35.6011294Z               "line": 180
2026-06-05T02:56:35.6011536Z             },
2026-06-05T02:56:35.6011768Z             {
2026-06-05T02:56:35.6012104Z               "path": "crates/spt-live/src/echo.rs",
2026-06-05T02:56:35.6012346Z               "line": 205
2026-06-05T02:56:35.6012601Z             },
2026-06-05T02:56:35.6012841Z             {
2026-06-05T02:56:35.6013166Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T02:56:35.6013424Z               "line": 180
2026-06-05T02:56:35.6013649Z             }
2026-06-05T02:56:35.6013890Z           ]
2026-06-05T02:56:35.6014119Z         }
2026-06-05T02:56:35.6014360Z       }
2026-06-05T02:56:35.6014593Z     },
2026-06-05T02:56:35.6014814Z     {
2026-06-05T02:56:35.6015109Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-05T02:56:35.6015610Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-05T02:56:35.6015887Z       "requiredStages": [
2026-06-05T02:56:35.6016127Z         "impl",
2026-06-05T02:56:35.6016377Z         "unit"
2026-06-05T02:56:35.6016620Z       ],
2026-06-05T02:56:35.6016861Z       "stages": {
2026-06-05T02:56:35.6017104Z         "doc": {
2026-06-05T02:56:35.6017374Z           "complete": false,
2026-06-05T02:56:35.6017637Z           "evidence": []
2026-06-05T02:56:35.6017878Z         },
2026-06-05T02:56:35.6018130Z         "impl": {
2026-06-05T02:56:35.6018396Z           "complete": true,
2026-06-05T02:56:35.6018643Z           "evidence": [
2026-06-05T02:56:35.6018882Z             {
2026-06-05T02:56:35.6019265Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T02:56:35.6019529Z               "line": 48
2026-06-05T02:56:35.6019759Z             },
2026-06-05T02:56:35.6020002Z             {
2026-06-05T02:56:35.6020345Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T02:56:35.6020587Z               "line": 55
2026-06-05T02:56:35.6020826Z             },
2026-06-05T02:56:35.6021054Z             {
2026-06-05T02:56:35.6021396Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T02:56:35.6021642Z               "line": 74
2026-06-05T02:56:35.6021883Z             },
2026-06-05T02:56:35.6022119Z             {
2026-06-05T02:56:35.6022463Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T02:56:35.6022726Z               "line": 91
2026-06-05T02:56:35.6022953Z             }
2026-06-05T02:56:35.6023192Z           ]
2026-06-05T02:56:35.6023418Z         },
2026-06-05T02:56:35.6023665Z         "int": {
2026-06-05T02:56:35.6023932Z           "complete": false,
2026-06-05T02:56:35.6024182Z           "evidence": []
2026-06-05T02:56:35.6024423Z         },
2026-06-05T02:56:35.6024656Z         "unit": {
2026-06-05T02:56:35.6024926Z           "complete": true,
2026-06-05T02:56:35.6025177Z           "evidence": [
2026-06-05T02:56:35.6025414Z             {
2026-06-05T02:56:35.6025764Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T02:56:35.6026012Z               "line": 149
2026-06-05T02:56:35.6031318Z             },
2026-06-05T02:56:35.6031711Z             {
2026-06-05T02:56:35.6032082Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T02:56:35.6032341Z               "line": 163
2026-06-05T02:56:35.6032870Z             },
2026-06-05T02:56:35.6033111Z             {
2026-06-05T02:56:35.6033592Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T02:56:35.6033853Z               "line": 173
2026-06-05T02:56:35.6034087Z             },
2026-06-05T02:56:35.6034326Z             {
2026-06-05T02:56:35.6034660Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T02:56:35.6034921Z               "line": 191
2026-06-05T02:56:35.6035164Z             },
2026-06-05T02:56:35.6035392Z             {
2026-06-05T02:56:35.6035733Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T02:56:35.6035979Z               "line": 204
2026-06-05T02:56:35.6036219Z             }
2026-06-05T02:56:35.6036459Z           ]
2026-06-05T02:56:35.6036685Z         }
2026-06-05T02:56:35.6036922Z       }
2026-06-05T02:56:35.6037143Z     },
2026-06-05T02:56:35.6037376Z     {
2026-06-05T02:56:35.6037725Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-05T02:56:35.6038318Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-05T02:56:35.6038599Z       "requiredStages": [
2026-06-05T02:56:35.6038835Z         "impl",
2026-06-05T02:56:35.6039071Z         "unit"
2026-06-05T02:56:35.6039345Z       ],
2026-06-05T02:56:35.6039600Z       "stages": {
2026-06-05T02:56:35.6039833Z         "doc": {
2026-06-05T02:56:35.6040102Z           "complete": false,
2026-06-05T02:56:35.6040358Z           "evidence": []
2026-06-05T02:56:35.6040583Z         },
2026-06-05T02:56:35.6040825Z         "impl": {
2026-06-05T02:56:35.6041075Z           "complete": true,
2026-06-05T02:56:35.6041326Z           "evidence": [
2026-06-05T02:56:35.6041552Z             {
2026-06-05T02:56:35.6041918Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.6042171Z               "line": 349
2026-06-05T02:56:35.6042397Z             },
2026-06-05T02:56:35.6042633Z             {
2026-06-05T02:56:35.6042960Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-05T02:56:35.6043224Z               "line": 26
2026-06-05T02:56:35.6043452Z             }
2026-06-05T02:56:35.6043700Z           ]
2026-06-05T02:56:35.6043935Z         },
2026-06-05T02:56:35.6044162Z         "int": {
2026-06-05T02:56:35.6044427Z           "complete": false,
2026-06-05T02:56:35.6044673Z           "evidence": []
2026-06-05T02:56:35.6044914Z         },
2026-06-05T02:56:35.6045152Z         "unit": {
2026-06-05T02:56:35.6045413Z           "complete": true,
2026-06-05T02:56:35.6045664Z           "evidence": [
2026-06-05T02:56:35.6045888Z             {
2026-06-05T02:56:35.6046226Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-05T02:56:35.6046471Z               "line": 139
2026-06-05T02:56:35.6046710Z             },
2026-06-05T02:56:35.6046939Z             {
2026-06-05T02:56:35.6047285Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-05T02:56:35.6047545Z               "line": 182
2026-06-05T02:56:35.6047771Z             }
2026-06-05T02:56:35.6048005Z           ]
2026-06-05T02:56:35.6048239Z         }
2026-06-05T02:56:35.6048470Z       }
2026-06-05T02:56:35.6048699Z     },
2026-06-05T02:56:35.6048932Z     {
2026-06-05T02:56:35.6049304Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-05T02:56:35.6049777Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-05T02:56:35.6050049Z       "requiredStages": [
2026-06-05T02:56:35.6050283Z         "impl",
2026-06-05T02:56:35.6050519Z         "unit"
2026-06-05T02:56:35.6050744Z       ],
2026-06-05T02:56:35.6050991Z       "stages": {
2026-06-05T02:56:35.6051228Z         "doc": {
2026-06-05T02:56:35.6051488Z           "complete": false,
2026-06-05T02:56:35.6051742Z           "evidence": []
2026-06-05T02:56:35.6051978Z         },
2026-06-05T02:56:35.6052219Z         "impl": {
2026-06-05T02:56:35.6052475Z           "complete": true,
2026-06-05T02:56:35.6052725Z           "evidence": [
2026-06-05T02:56:35.6052961Z             {
2026-06-05T02:56:35.6053308Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T02:56:35.6053743Z               "line": 36
2026-06-05T02:56:35.6053972Z             },
2026-06-05T02:56:35.6054345Z             {
2026-06-05T02:56:35.6054692Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T02:56:35.6054949Z               "line": 68
2026-06-05T02:56:35.6055188Z             }
2026-06-05T02:56:35.6055413Z           ]
2026-06-05T02:56:35.6055647Z         },
2026-06-05T02:56:35.6055884Z         "int": {
2026-06-05T02:56:35.6056150Z           "complete": false,
2026-06-05T02:56:35.6056397Z           "evidence": []
2026-06-05T02:56:35.6056637Z         },
2026-06-05T02:56:35.6056876Z         "unit": {
2026-06-05T02:56:35.6057133Z           "complete": true,
2026-06-05T02:56:35.6057384Z           "evidence": [
2026-06-05T02:56:35.6057612Z             {
2026-06-05T02:56:35.6057966Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T02:56:35.6058213Z               "line": 143
2026-06-05T02:56:35.6058453Z             },
2026-06-05T02:56:35.6058699Z             {
2026-06-05T02:56:35.6059046Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T02:56:35.6059353Z               "line": 160
2026-06-05T02:56:35.6059589Z             },
2026-06-05T02:56:35.6059825Z             {
2026-06-05T02:56:35.6060168Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T02:56:35.6060431Z               "line": 168
2026-06-05T02:56:35.6060673Z             }
2026-06-05T02:56:35.6060905Z           ]
2026-06-05T02:56:35.6061135Z         }
2026-06-05T02:56:35.6061357Z       }
2026-06-05T02:56:35.6061590Z     },
2026-06-05T02:56:35.6061816Z     {
2026-06-05T02:56:35.6062168Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-05T02:56:35.6062705Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-05T02:56:35.6062965Z       "requiredStages": [
2026-06-05T02:56:35.6063203Z         "impl",
2026-06-05T02:56:35.6063433Z         "unit"
2026-06-05T02:56:35.6063671Z       ],
2026-06-05T02:56:35.6063912Z       "stages": {
2026-06-05T02:56:35.6064155Z         "doc": {
2026-06-05T02:56:35.6064421Z           "complete": false,
2026-06-05T02:56:35.6064672Z           "evidence": []
2026-06-05T02:56:35.6064909Z         },
2026-06-05T02:56:35.6065143Z         "impl": {
2026-06-05T02:56:35.6065400Z           "complete": true,
2026-06-05T02:56:35.6065643Z           "evidence": [
2026-06-05T02:56:35.6065881Z             {
2026-06-05T02:56:35.6066239Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T02:56:35.6066486Z               "line": 107
2026-06-05T02:56:35.6066715Z             }
2026-06-05T02:56:35.6066938Z           ]
2026-06-05T02:56:35.6067173Z         },
2026-06-05T02:56:35.6067398Z         "int": {
2026-06-05T02:56:35.6067659Z           "complete": false,
2026-06-05T02:56:35.6067912Z           "evidence": []
2026-06-05T02:56:35.6068135Z         },
2026-06-05T02:56:35.6068378Z         "unit": {
2026-06-05T02:56:35.6068631Z           "complete": true,
2026-06-05T02:56:35.6068883Z           "evidence": [
2026-06-05T02:56:35.6069119Z             {
2026-06-05T02:56:35.6069524Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T02:56:35.6069797Z               "line": 184
2026-06-05T02:56:35.6070026Z             },
2026-06-05T02:56:35.6070261Z             {
2026-06-05T02:56:35.6070606Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T02:56:35.6070863Z               "line": 193
2026-06-05T02:56:35.6071090Z             },
2026-06-05T02:56:35.6071323Z             {
2026-06-05T02:56:35.6071671Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T02:56:35.6071911Z               "line": 201
2026-06-05T02:56:35.6072148Z             },
2026-06-05T02:56:35.6072374Z             {
2026-06-05T02:56:35.6072719Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T02:56:35.6072964Z               "line": 210
2026-06-05T02:56:35.6073199Z             },
2026-06-05T02:56:35.6073439Z             {
2026-06-05T02:56:35.6073783Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-05T02:56:35.6074198Z               "line": 219
2026-06-05T02:56:35.6074589Z             }
2026-06-05T02:56:35.6079113Z           ]
2026-06-05T02:56:35.6079568Z         }
2026-06-05T02:56:35.6079822Z       }
2026-06-05T02:56:35.6080055Z     },
2026-06-05T02:56:35.6080284Z     {
2026-06-05T02:56:35.6080622Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-05T02:56:35.6081104Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-05T02:56:35.6081382Z       "requiredStages": [
2026-06-05T02:56:35.6081615Z         "impl",
2026-06-05T02:56:35.6081855Z         "unit"
2026-06-05T02:56:35.6082089Z       ],
2026-06-05T02:56:35.6082327Z       "stages": {
2026-06-05T02:56:35.6082565Z         "doc": {
2026-06-05T02:56:35.6082823Z           "complete": false,
2026-06-05T02:56:35.6083082Z           "evidence": []
2026-06-05T02:56:35.6083310Z         },
2026-06-05T02:56:35.6083557Z         "impl": {
2026-06-05T02:56:35.6083821Z           "complete": true,
2026-06-05T02:56:35.6084088Z           "evidence": [
2026-06-05T02:56:35.6084322Z             {
2026-06-05T02:56:35.6084648Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T02:56:35.6084903Z               "line": 14
2026-06-05T02:56:35.6085131Z             },
2026-06-05T02:56:35.6085369Z             {
2026-06-05T02:56:35.6085686Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T02:56:35.6085928Z               "line": 62
2026-06-05T02:56:35.6086166Z             }
2026-06-05T02:56:35.6086391Z           ]
2026-06-05T02:56:35.6086628Z         },
2026-06-05T02:56:35.6086860Z         "int": {
2026-06-05T02:56:35.6087126Z           "complete": false,
2026-06-05T02:56:35.6087378Z           "evidence": []
2026-06-05T02:56:35.6087607Z         },
2026-06-05T02:56:35.6087846Z         "unit": {
2026-06-05T02:56:35.6088095Z           "complete": true,
2026-06-05T02:56:35.6088348Z           "evidence": [
2026-06-05T02:56:35.6088575Z             {
2026-06-05T02:56:35.6088890Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T02:56:35.6089153Z               "line": 160
2026-06-05T02:56:35.6089436Z             },
2026-06-05T02:56:35.6089670Z             {
2026-06-05T02:56:35.6089975Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T02:56:35.6090235Z               "line": 197
2026-06-05T02:56:35.6090465Z             },
2026-06-05T02:56:35.6090701Z             {
2026-06-05T02:56:35.6091014Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T02:56:35.6091262Z               "line": 213
2026-06-05T02:56:35.6091497Z             }
2026-06-05T02:56:35.6091722Z           ]
2026-06-05T02:56:35.6091954Z         }
2026-06-05T02:56:35.6092178Z       }
2026-06-05T02:56:35.6092409Z     },
2026-06-05T02:56:35.6092637Z     {
2026-06-05T02:56:35.6092963Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-05T02:56:35.6093596Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-05T02:56:35.6093857Z       "requiredStages": [
2026-06-05T02:56:35.6094106Z         "impl",
2026-06-05T02:56:35.6094341Z         "unit"
2026-06-05T02:56:35.6094592Z       ],
2026-06-05T02:56:35.6094834Z       "stages": {
2026-06-05T02:56:35.6095064Z         "doc": {
2026-06-05T02:56:35.6095331Z           "complete": false,
2026-06-05T02:56:35.6095574Z           "evidence": []
2026-06-05T02:56:35.6095811Z         },
2026-06-05T02:56:35.6096044Z         "impl": {
2026-06-05T02:56:35.6096304Z           "complete": true,
2026-06-05T02:56:35.6096557Z           "evidence": [
2026-06-05T02:56:35.6096782Z             {
2026-06-05T02:56:35.6097121Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T02:56:35.6097364Z               "line": 76
2026-06-05T02:56:35.6097601Z             },
2026-06-05T02:56:35.6097825Z             {
2026-06-05T02:56:35.6098155Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T02:56:35.6098405Z               "line": 163
2026-06-05T02:56:35.6098632Z             },
2026-06-05T02:56:35.6098865Z             {
2026-06-05T02:56:35.6099518Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T02:56:35.6099810Z               "line": 229
2026-06-05T02:56:35.6100200Z             },
2026-06-05T02:56:35.6100446Z             {
2026-06-05T02:56:35.6100788Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T02:56:35.6101037Z               "line": 265
2026-06-05T02:56:35.6101275Z             }
2026-06-05T02:56:35.6101503Z           ]
2026-06-05T02:56:35.6101741Z         },
2026-06-05T02:56:35.6101968Z         "int": {
2026-06-05T02:56:35.6102235Z           "complete": false,
2026-06-05T02:56:35.6102486Z           "evidence": []
2026-06-05T02:56:35.6102716Z         },
2026-06-05T02:56:35.6102953Z         "unit": {
2026-06-05T02:56:35.6103208Z           "complete": true,
2026-06-05T02:56:35.6103461Z           "evidence": [
2026-06-05T02:56:35.6103686Z             {
2026-06-05T02:56:35.6104020Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T02:56:35.6104275Z               "line": 310
2026-06-05T02:56:35.6104514Z             },
2026-06-05T02:56:35.6104750Z             {
2026-06-05T02:56:35.6105085Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T02:56:35.6105337Z               "line": 318
2026-06-05T02:56:35.6105561Z             },
2026-06-05T02:56:35.6105800Z             {
2026-06-05T02:56:35.6106131Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T02:56:35.6106378Z               "line": 341
2026-06-05T02:56:35.6106614Z             },
2026-06-05T02:56:35.6106839Z             {
2026-06-05T02:56:35.6107168Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T02:56:35.6107423Z               "line": 378
2026-06-05T02:56:35.6107655Z             },
2026-06-05T02:56:35.6107891Z             {
2026-06-05T02:56:35.6108212Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T02:56:35.6108457Z               "line": 389
2026-06-05T02:56:35.6108681Z             },
2026-06-05T02:56:35.6108913Z             {
2026-06-05T02:56:35.6109292Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T02:56:35.6109556Z               "line": 401
2026-06-05T02:56:35.6109806Z             },
2026-06-05T02:56:35.6110036Z             {
2026-06-05T02:56:35.6110361Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-05T02:56:35.6110600Z               "line": 413
2026-06-05T02:56:35.6110837Z             }
2026-06-05T02:56:35.6111068Z           ]
2026-06-05T02:56:35.6111292Z         }
2026-06-05T02:56:35.6111521Z       }
2026-06-05T02:56:35.6111745Z     },
2026-06-05T02:56:35.6111980Z     {
2026-06-05T02:56:35.6112271Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-05T02:56:35.6112704Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-05T02:56:35.6112982Z       "requiredStages": [
2026-06-05T02:56:35.6113216Z         "impl",
2026-06-05T02:56:35.6113457Z         "int"
2026-06-05T02:56:35.6113687Z       ],
2026-06-05T02:56:35.6113928Z       "stages": {
2026-06-05T02:56:35.6114156Z         "doc": {
2026-06-05T02:56:35.6114427Z           "complete": false,
2026-06-05T02:56:35.6114678Z           "evidence": []
2026-06-05T02:56:35.6114911Z         },
2026-06-05T02:56:35.6115152Z         "impl": {
2026-06-05T02:56:35.6115403Z           "complete": true,
2026-06-05T02:56:35.6115656Z           "evidence": [
2026-06-05T02:56:35.6115878Z             {
2026-06-05T02:56:35.6116218Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T02:56:35.6116467Z               "line": 22
2026-06-05T02:56:35.6116700Z             }
2026-06-05T02:56:35.6116940Z           ]
2026-06-05T02:56:35.6117167Z         },
2026-06-05T02:56:35.6117403Z         "int": {
2026-06-05T02:56:35.6117654Z           "complete": true,
2026-06-05T02:56:35.6117908Z           "evidence": [
2026-06-05T02:56:35.6118145Z             {
2026-06-05T02:56:35.6118490Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-05T02:56:35.6118737Z               "line": 18
2026-06-05T02:56:35.6118965Z             }
2026-06-05T02:56:35.6119237Z           ]
2026-06-05T02:56:35.6119650Z         },
2026-06-05T02:56:35.6119899Z         "unit": {
2026-06-05T02:56:35.6120162Z           "complete": false,
2026-06-05T02:56:35.6120540Z           "evidence": []
2026-06-05T02:56:35.6120777Z         }
2026-06-05T02:56:35.6121005Z       }
2026-06-05T02:56:35.6121237Z     },
2026-06-05T02:56:35.6121462Z     {
2026-06-05T02:56:35.6121799Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-05T02:56:35.6126507Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-05T02:56:35.6126926Z       "requiredStages": [
2026-06-05T02:56:35.6127193Z         "impl",
2026-06-05T02:56:35.6127426Z         "unit"
2026-06-05T02:56:35.6127665Z       ],
2026-06-05T02:56:35.6127898Z       "stages": {
2026-06-05T02:56:35.6128143Z         "doc": {
2026-06-05T02:56:35.6128412Z           "complete": false,
2026-06-05T02:56:35.6128660Z           "evidence": []
2026-06-05T02:56:35.6128894Z         },
2026-06-05T02:56:35.6129130Z         "impl": {
2026-06-05T02:56:35.6129500Z           "complete": true,
2026-06-05T02:56:35.6129742Z           "evidence": [
2026-06-05T02:56:35.6129992Z             {
2026-06-05T02:56:35.6130357Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.6130616Z               "line": 348
2026-06-05T02:56:35.6130852Z             },
2026-06-05T02:56:35.6131079Z             {
2026-06-05T02:56:35.6131422Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-05T02:56:35.6131664Z               "line": 27
2026-06-05T02:56:35.6131905Z             }
2026-06-05T02:56:35.6132138Z           ]
2026-06-05T02:56:35.6132361Z         },
2026-06-05T02:56:35.6132595Z         "int": {
2026-06-05T02:56:35.6132853Z           "complete": false,
2026-06-05T02:56:35.6133108Z           "evidence": []
2026-06-05T02:56:35.6133330Z         },
2026-06-05T02:56:35.6133572Z         "unit": {
2026-06-05T02:56:35.6133839Z           "complete": true,
2026-06-05T02:56:35.6134084Z           "evidence": [
2026-06-05T02:56:35.6134319Z             {
2026-06-05T02:56:35.6134679Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.6134938Z               "line": 753
2026-06-05T02:56:35.6135164Z             },
2026-06-05T02:56:35.6135397Z             {
2026-06-05T02:56:35.6135732Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-05T02:56:35.6135977Z               "line": 164
2026-06-05T02:56:35.6136212Z             }
2026-06-05T02:56:35.6136437Z           ]
2026-06-05T02:56:35.6136667Z         }
2026-06-05T02:56:35.6136895Z       }
2026-06-05T02:56:35.6137131Z     },
2026-06-05T02:56:35.6137364Z     {
2026-06-05T02:56:35.6137697Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-05T02:56:35.6138183Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-05T02:56:35.6138443Z       "requiredStages": [
2026-06-05T02:56:35.6138681Z         "impl",
2026-06-05T02:56:35.6138914Z         "unit"
2026-06-05T02:56:35.6139152Z       ],
2026-06-05T02:56:35.6139447Z       "stages": {
2026-06-05T02:56:35.6139690Z         "doc": {
2026-06-05T02:56:35.6139954Z           "complete": false,
2026-06-05T02:56:35.6140208Z           "evidence": []
2026-06-05T02:56:35.6140446Z         },
2026-06-05T02:56:35.6140673Z         "impl": {
2026-06-05T02:56:35.6140931Z           "complete": true,
2026-06-05T02:56:35.6141187Z           "evidence": [
2026-06-05T02:56:35.6141417Z             {
2026-06-05T02:56:35.6141762Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-05T02:56:35.6142002Z               "line": 20
2026-06-05T02:56:35.6142239Z             },
2026-06-05T02:56:35.6142462Z             {
2026-06-05T02:56:35.6142795Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-05T02:56:35.6143039Z               "line": 94
2026-06-05T02:56:35.6143266Z             },
2026-06-05T02:56:35.6143496Z             {
2026-06-05T02:56:35.6143852Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-05T02:56:35.6144104Z               "line": 70
2026-06-05T02:56:35.6144333Z             },
2026-06-05T02:56:35.6144853Z             {
2026-06-05T02:56:35.6145223Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-05T02:56:35.6145600Z               "line": 82
2026-06-05T02:56:35.6145840Z             }
2026-06-05T02:56:35.6146072Z           ]
2026-06-05T02:56:35.6146308Z         },
2026-06-05T02:56:35.6146537Z         "int": {
2026-06-05T02:56:35.6146800Z           "complete": false,
2026-06-05T02:56:35.6147060Z           "evidence": []
2026-06-05T02:56:35.6147290Z         },
2026-06-05T02:56:35.6147535Z         "unit": {
2026-06-05T02:56:35.6147791Z           "complete": true,
2026-06-05T02:56:35.6148046Z           "evidence": [
2026-06-05T02:56:35.6148273Z             {
2026-06-05T02:56:35.6148616Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-05T02:56:35.6148865Z               "line": 139
2026-06-05T02:56:35.6149093Z             },
2026-06-05T02:56:35.6149373Z             {
2026-06-05T02:56:35.6149705Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-05T02:56:35.6149975Z               "line": 162
2026-06-05T02:56:35.6150202Z             },
2026-06-05T02:56:35.6150449Z             {
2026-06-05T02:56:35.6150788Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-05T02:56:35.6151027Z               "line": 173
2026-06-05T02:56:35.6151261Z             },
2026-06-05T02:56:35.6151490Z             {
2026-06-05T02:56:35.6151824Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-05T02:56:35.6152066Z               "line": 189
2026-06-05T02:56:35.6152306Z             },
2026-06-05T02:56:35.6152542Z             {
2026-06-05T02:56:35.6152870Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-05T02:56:35.6153120Z               "line": 200
2026-06-05T02:56:35.6153349Z             },
2026-06-05T02:56:35.6153586Z             {
2026-06-05T02:56:35.6153936Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-05T02:56:35.6154192Z               "line": 139
2026-06-05T02:56:35.6154426Z             }
2026-06-05T02:56:35.6154659Z           ]
2026-06-05T02:56:35.6154895Z         }
2026-06-05T02:56:35.6155116Z       }
2026-06-05T02:56:35.6155358Z     },
2026-06-05T02:56:35.6155580Z     {
2026-06-05T02:56:35.6155858Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-05T02:56:35.6156618Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-05T02:56:35.6156880Z       "requiredStages": [
2026-06-05T02:56:35.6157126Z         "impl",
2026-06-05T02:56:35.6157357Z         "unit"
2026-06-05T02:56:35.6157593Z       ],
2026-06-05T02:56:35.6157824Z       "stages": {
2026-06-05T02:56:35.6158065Z         "doc": {
2026-06-05T02:56:35.6158322Z           "complete": true,
2026-06-05T02:56:35.6158566Z           "evidence": [
2026-06-05T02:56:35.6158798Z             {
2026-06-05T02:56:35.6159095Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-05T02:56:35.6159392Z               "line": 131
2026-06-05T02:56:35.6159620Z             }
2026-06-05T02:56:35.6159859Z           ]
2026-06-05T02:56:35.6160102Z         },
2026-06-05T02:56:35.6160340Z         "impl": {
2026-06-05T02:56:35.6160602Z           "complete": true,
2026-06-05T02:56:35.6160856Z           "evidence": [
2026-06-05T02:56:35.6161094Z             {
2026-06-05T02:56:35.6161408Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T02:56:35.6161657Z               "line": 65
2026-06-05T02:56:35.6161896Z             },
2026-06-05T02:56:35.6162121Z             {
2026-06-05T02:56:35.6162446Z               "path": "crates/spt-proto/src/id.rs",
2026-06-05T02:56:35.6162693Z               "line": 17
2026-06-05T02:56:35.6162933Z             },
2026-06-05T02:56:35.6163161Z             {
2026-06-05T02:56:35.6163492Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.6163742Z               "line": 212
2026-06-05T02:56:35.6163969Z             },
2026-06-05T02:56:35.6164205Z             {
2026-06-05T02:56:35.6164532Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.6164785Z               "line": 312
2026-06-05T02:56:35.6165175Z             },
2026-06-05T02:56:35.6165416Z             {
2026-06-05T02:56:35.6165926Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T02:56:35.6166172Z               "line": 32
2026-06-05T02:56:35.6166415Z             },
2026-06-05T02:56:35.6166642Z             {
2026-06-05T02:56:35.6166950Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.6167205Z               "line": 1800
2026-06-05T02:56:35.6167437Z             },
2026-06-05T02:56:35.6167672Z             {
2026-06-05T02:56:35.6167973Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.6168228Z               "line": 2053
2026-06-05T02:56:35.6168455Z             }
2026-06-05T02:56:35.6168694Z           ]
2026-06-05T02:56:35.6168929Z         },
2026-06-05T02:56:35.6169212Z         "int": {
2026-06-05T02:56:35.6173595Z           "complete": false,
2026-06-05T02:56:35.6174010Z           "evidence": []
2026-06-05T02:56:35.6174267Z         },
2026-06-05T02:56:35.6174509Z         "unit": {
2026-06-05T02:56:35.6174811Z           "complete": true,
2026-06-05T02:56:35.6175054Z           "evidence": [
2026-06-05T02:56:35.6175307Z             {
2026-06-05T02:56:35.6175640Z               "path": "crates/spt-proto/src/id.rs",
2026-06-05T02:56:35.6175885Z               "line": 94
2026-06-05T02:56:35.6176122Z             },
2026-06-05T02:56:35.6176352Z             {
2026-06-05T02:56:35.6176676Z               "path": "crates/spt-proto/src/id.rs",
2026-06-05T02:56:35.6176928Z               "line": 111
2026-06-05T02:56:35.6177161Z             },
2026-06-05T02:56:35.6177396Z             {
2026-06-05T02:56:35.6177706Z               "path": "crates/spt-proto/src/id.rs",
2026-06-05T02:56:35.6177959Z               "line": 124
2026-06-05T02:56:35.6178193Z             },
2026-06-05T02:56:35.6178426Z             {
2026-06-05T02:56:35.6178740Z               "path": "crates/spt-proto/src/id.rs",
2026-06-05T02:56:35.6178987Z               "line": 134
2026-06-05T02:56:35.6179301Z             },
2026-06-05T02:56:35.6179556Z             {
2026-06-05T02:56:35.6179880Z               "path": "crates/spt-proto/src/id.rs",
2026-06-05T02:56:35.6180139Z               "line": 142
2026-06-05T02:56:35.6180372Z             },
2026-06-05T02:56:35.6180603Z             {
2026-06-05T02:56:35.6180906Z               "path": "crates/spt-proto/src/id.rs",
2026-06-05T02:56:35.6181159Z               "line": 154
2026-06-05T02:56:35.6181386Z             },
2026-06-05T02:56:35.6181621Z             {
2026-06-05T02:56:35.6181987Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.6182240Z               "line": 645
2026-06-05T02:56:35.6182476Z             }
2026-06-05T02:56:35.6182699Z           ]
2026-06-05T02:56:35.6182928Z         }
2026-06-05T02:56:35.6183157Z       }
2026-06-05T02:56:35.6183388Z     },
2026-06-05T02:56:35.6183611Z     {
2026-06-05T02:56:35.6183914Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-05T02:56:35.6184302Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-05T02:56:35.6184570Z       "requiredStages": [
2026-06-05T02:56:35.6184812Z         "impl",
2026-06-05T02:56:35.6185051Z         "unit"
2026-06-05T02:56:35.6185285Z       ],
2026-06-05T02:56:35.6185515Z       "stages": {
2026-06-05T02:56:35.6185753Z         "doc": {
2026-06-05T02:56:35.6186012Z           "complete": false,
2026-06-05T02:56:35.6186255Z           "evidence": []
2026-06-05T02:56:35.6186487Z         },
2026-06-05T02:56:35.6186721Z         "impl": {
2026-06-05T02:56:35.6186980Z           "complete": true,
2026-06-05T02:56:35.6187222Z           "evidence": [
2026-06-05T02:56:35.6187458Z             {
2026-06-05T02:56:35.6187790Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T02:56:35.6188031Z               "line": 128
2026-06-05T02:56:35.6188264Z             }
2026-06-05T02:56:35.6188492Z           ]
2026-06-05T02:56:35.6188733Z         },
2026-06-05T02:56:35.6188968Z         "int": {
2026-06-05T02:56:35.6189270Z           "complete": false,
2026-06-05T02:56:35.6189527Z           "evidence": []
2026-06-05T02:56:35.6190030Z         },
2026-06-05T02:56:35.6190277Z         "unit": {
2026-06-05T02:56:35.6190676Z           "complete": true,
2026-06-05T02:56:35.6190935Z           "evidence": [
2026-06-05T02:56:35.6191167Z             {
2026-06-05T02:56:35.6191507Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T02:56:35.6191762Z               "line": 205
2026-06-05T02:56:35.6191986Z             }
2026-06-05T02:56:35.6192219Z           ]
2026-06-05T02:56:35.6192442Z         }
2026-06-05T02:56:35.6192673Z       }
2026-06-05T02:56:35.6192898Z     },
2026-06-05T02:56:35.6193131Z     {
2026-06-05T02:56:35.6193450Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-05T02:56:35.6193885Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-05T02:56:35.6194152Z       "requiredStages": [
2026-06-05T02:56:35.6194385Z         "impl",
2026-06-05T02:56:35.6194621Z         "unit"
2026-06-05T02:56:35.6194849Z       ],
2026-06-05T02:56:35.6195093Z       "stages": {
2026-06-05T02:56:35.6195347Z         "doc": {
2026-06-05T02:56:35.6195610Z           "complete": false,
2026-06-05T02:56:35.6195872Z           "evidence": []
2026-06-05T02:56:35.6196102Z         },
2026-06-05T02:56:35.6196340Z         "impl": {
2026-06-05T02:56:35.6196593Z           "complete": true,
2026-06-05T02:56:35.6196847Z           "evidence": [
2026-06-05T02:56:35.6197080Z             {
2026-06-05T02:56:35.6197401Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T02:56:35.6197648Z               "line": 231
2026-06-05T02:56:35.6197880Z             },
2026-06-05T02:56:35.6198110Z             {
2026-06-05T02:56:35.6198426Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T02:56:35.6198675Z               "line": 242
2026-06-05T02:56:35.6198911Z             },
2026-06-05T02:56:35.6199134Z             {
2026-06-05T02:56:35.6199514Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T02:56:35.6199764Z               "line": 260
2026-06-05T02:56:35.6200003Z             }
2026-06-05T02:56:35.6200238Z           ]
2026-06-05T02:56:35.6200474Z         },
2026-06-05T02:56:35.6200719Z         "int": {
2026-06-05T02:56:35.6200981Z           "complete": false,
2026-06-05T02:56:35.6201231Z           "evidence": []
2026-06-05T02:56:35.6201461Z         },
2026-06-05T02:56:35.6201705Z         "unit": {
2026-06-05T02:56:35.6201964Z           "complete": true,
2026-06-05T02:56:35.6202217Z           "evidence": [
2026-06-05T02:56:35.6202448Z             {
2026-06-05T02:56:35.6202764Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T02:56:35.6203013Z               "line": 284
2026-06-05T02:56:35.6203243Z             },
2026-06-05T02:56:35.6203479Z             {
2026-06-05T02:56:35.6203805Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T02:56:35.6204059Z               "line": 302
2026-06-05T02:56:35.6204294Z             },
2026-06-05T02:56:35.6204516Z             {
2026-06-05T02:56:35.6204836Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T02:56:35.6205092Z               "line": 467
2026-06-05T02:56:35.6205328Z             },
2026-06-05T02:56:35.6205560Z             {
2026-06-05T02:56:35.6205885Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T02:56:35.6206138Z               "line": 478
2026-06-05T02:56:35.6206375Z             },
2026-06-05T02:56:35.6206607Z             {
2026-06-05T02:56:35.6206926Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T02:56:35.6207178Z               "line": 491
2026-06-05T02:56:35.6207404Z             }
2026-06-05T02:56:35.6207638Z           ]
2026-06-05T02:56:35.6207867Z         }
2026-06-05T02:56:35.6208089Z       }
2026-06-05T02:56:35.6208318Z     },
2026-06-05T02:56:35.6208540Z     {
2026-06-05T02:56:35.6208833Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-05T02:56:35.6209552Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-05T02:56:35.6209835Z       "requiredStages": [
2026-06-05T02:56:35.6210079Z         "impl",
2026-06-05T02:56:35.6210481Z         "unit"
2026-06-05T02:56:35.6210717Z       ],
2026-06-05T02:56:35.6211081Z       "stages": {
2026-06-05T02:56:35.6211329Z         "doc": {
2026-06-05T02:56:35.6211586Z           "complete": false,
2026-06-05T02:56:35.6211846Z           "evidence": []
2026-06-05T02:56:35.6212082Z         },
2026-06-05T02:56:35.6212318Z         "impl": {
2026-06-05T02:56:35.6212585Z           "complete": true,
2026-06-05T02:56:35.6212838Z           "evidence": [
2026-06-05T02:56:35.6213079Z             {
2026-06-05T02:56:35.6213395Z               "path": "crates/spt/src/api/auth.rs",
2026-06-05T02:56:35.6213647Z               "line": 14
2026-06-05T02:56:35.6213880Z             },
2026-06-05T02:56:35.6214109Z             {
2026-06-05T02:56:35.6214427Z               "path": "crates/spt/src/api/mod.rs",
2026-06-05T02:56:35.6214672Z               "line": 372
2026-06-05T02:56:35.6214911Z             }
2026-06-05T02:56:35.6215137Z           ]
2026-06-05T02:56:35.6215372Z         },
2026-06-05T02:56:35.6215620Z         "int": {
2026-06-05T02:56:35.6215869Z           "complete": false,
2026-06-05T02:56:35.6216131Z           "evidence": []
2026-06-05T02:56:35.6220585Z         },
2026-06-05T02:56:35.6221008Z         "unit": {
2026-06-05T02:56:35.6221289Z           "complete": true,
2026-06-05T02:56:35.6221552Z           "evidence": [
2026-06-05T02:56:35.6221798Z             {
2026-06-05T02:56:35.6222107Z               "path": "crates/spt/src/api/auth.rs",
2026-06-05T02:56:35.6222365Z               "line": 130
2026-06-05T02:56:35.6222598Z             },
2026-06-05T02:56:35.6222834Z             {
2026-06-05T02:56:35.6223144Z               "path": "crates/spt/src/api/auth.rs",
2026-06-05T02:56:35.6223402Z               "line": 138
2026-06-05T02:56:35.6223644Z             },
2026-06-05T02:56:35.6223869Z             {
2026-06-05T02:56:35.6224189Z               "path": "crates/spt/src/api/auth.rs",
2026-06-05T02:56:35.6224435Z               "line": 146
2026-06-05T02:56:35.6224681Z             },
2026-06-05T02:56:35.6224948Z             {
2026-06-05T02:56:35.6225261Z               "path": "crates/spt/src/api/auth.rs",
2026-06-05T02:56:35.6225528Z               "line": 154
2026-06-05T02:56:35.6225758Z             },
2026-06-05T02:56:35.6225995Z             {
2026-06-05T02:56:35.6226303Z               "path": "crates/spt/src/api/auth.rs",
2026-06-05T02:56:35.6226554Z               "line": 162
2026-06-05T02:56:35.6226785Z             },
2026-06-05T02:56:35.6227027Z             {
2026-06-05T02:56:35.6227338Z               "path": "crates/spt/src/api/auth.rs",
2026-06-05T02:56:35.6227588Z               "line": 170
2026-06-05T02:56:35.6227819Z             }
2026-06-05T02:56:35.6228045Z           ]
2026-06-05T02:56:35.6228285Z         }
2026-06-05T02:56:35.6228515Z       }
2026-06-05T02:56:35.6228749Z     },
2026-06-05T02:56:35.6228980Z     {
2026-06-05T02:56:35.6229337Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-05T02:56:35.6232193Z       "title": "Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)",
2026-06-05T02:56:35.6232493Z       "requiredStages": [
2026-06-05T02:56:35.6232746Z         "impl",
2026-06-05T02:56:35.6232980Z         "unit"
2026-06-05T02:56:35.6233207Z       ],
2026-06-05T02:56:35.6233452Z       "stages": {
2026-06-05T02:56:35.6233683Z         "doc": {
2026-06-05T02:56:35.6233947Z           "complete": false,
2026-06-05T02:56:35.6234194Z           "evidence": []
2026-06-05T02:56:35.6234429Z         },
2026-06-05T02:56:35.6234669Z         "impl": {
2026-06-05T02:56:35.6234925Z           "complete": true,
2026-06-05T02:56:35.6235176Z           "evidence": [
2026-06-05T02:56:35.6235402Z             {
2026-06-05T02:56:35.6235821Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-05T02:56:35.6236061Z               "line": 34
2026-06-05T02:56:35.6236307Z             }
2026-06-05T02:56:35.6236826Z           ]
2026-06-05T02:56:35.6237055Z         },
2026-06-05T02:56:35.6237438Z         "int": {
2026-06-05T02:56:35.6237698Z           "complete": false,
2026-06-05T02:56:35.6237956Z           "evidence": []
2026-06-05T02:56:35.6238185Z         },
2026-06-05T02:56:35.6238429Z         "unit": {
2026-06-05T02:56:35.6238695Z           "complete": true,
2026-06-05T02:56:35.6238938Z           "evidence": [
2026-06-05T02:56:35.6239224Z             {
2026-06-05T02:56:35.6239849Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-05T02:56:35.6240312Z               "line": 188
2026-06-05T02:56:35.6240545Z             },
2026-06-05T02:56:35.6240779Z             {
2026-06-05T02:56:35.6241186Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-05T02:56:35.6241440Z               "line": 200
2026-06-05T02:56:35.6241689Z             },
2026-06-05T02:56:35.6241917Z             {
2026-06-05T02:56:35.6242321Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-05T02:56:35.6242582Z               "line": 211
2026-06-05T02:56:35.6242826Z             },
2026-06-05T02:56:35.6243062Z             {
2026-06-05T02:56:35.6243460Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-05T02:56:35.6243710Z               "line": 245
2026-06-05T02:56:35.6243935Z             },
2026-06-05T02:56:35.6244170Z             {
2026-06-05T02:56:35.6244564Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-05T02:56:35.6244818Z               "line": 267
2026-06-05T02:56:35.6245055Z             },
2026-06-05T02:56:35.6245284Z             {
2026-06-05T02:56:35.6245687Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-05T02:56:35.6245929Z               "line": 288
2026-06-05T02:56:35.6246166Z             },
2026-06-05T02:56:35.6246404Z             {
2026-06-05T02:56:35.6246798Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-05T02:56:35.6247064Z               "line": 304
2026-06-05T02:56:35.6247290Z             }
2026-06-05T02:56:35.6247527Z           ]
2026-06-05T02:56:35.6247758Z         }
2026-06-05T02:56:35.6247992Z       }
2026-06-05T02:56:35.6248225Z     },
2026-06-05T02:56:35.6248452Z     {
2026-06-05T02:56:35.6248764Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-05T02:56:35.6250433Z       "title": "Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)",
2026-06-05T02:56:35.6250709Z       "requiredStages": [
2026-06-05T02:56:35.6250941Z         "impl",
2026-06-05T02:56:35.6251185Z         "unit"
2026-06-05T02:56:35.6251421Z       ],
2026-06-05T02:56:35.6251656Z       "stages": {
2026-06-05T02:56:35.6251894Z         "doc": {
2026-06-05T02:56:35.6252147Z           "complete": false,
2026-06-05T02:56:35.6252405Z           "evidence": []
2026-06-05T02:56:35.6252631Z         },
2026-06-05T02:56:35.6252886Z         "impl": {
2026-06-05T02:56:35.6253143Z           "complete": true,
2026-06-05T02:56:35.6253398Z           "evidence": [
2026-06-05T02:56:35.6253640Z             {
2026-06-05T02:56:35.6253975Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T02:56:35.6254226Z               "line": 29
2026-06-05T02:56:35.6254449Z             },
2026-06-05T02:56:35.6254680Z             {
2026-06-05T02:56:35.6255019Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T02:56:35.6255265Z               "line": 154
2026-06-05T02:56:35.6255508Z             },
2026-06-05T02:56:35.6255734Z             {
2026-06-05T02:56:35.6256073Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T02:56:35.6256315Z               "line": 173
2026-06-05T02:56:35.6256550Z             },
2026-06-05T02:56:35.6256780Z             {
2026-06-05T02:56:35.6257105Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T02:56:35.6257354Z               "line": 200
2026-06-05T02:56:35.6257800Z             }
2026-06-05T02:56:35.6258038Z           ]
2026-06-05T02:56:35.6258268Z         },
2026-06-05T02:56:35.6258653Z         "int": {
2026-06-05T02:56:35.6258920Z           "complete": false,
2026-06-05T02:56:35.6259207Z           "evidence": []
2026-06-05T02:56:35.6259449Z         },
2026-06-05T02:56:35.6259694Z         "unit": {
2026-06-05T02:56:35.6259961Z           "complete": true,
2026-06-05T02:56:35.6260200Z           "evidence": [
2026-06-05T02:56:35.6260434Z             {
2026-06-05T02:56:35.6260777Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T02:56:35.6261020Z               "line": 276
2026-06-05T02:56:35.6261254Z             },
2026-06-05T02:56:35.6261482Z             {
2026-06-05T02:56:35.6261823Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T02:56:35.6262075Z               "line": 291
2026-06-05T02:56:35.6262301Z             },
2026-06-05T02:56:35.6262536Z             {
2026-06-05T02:56:35.6262866Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T02:56:35.6263137Z               "line": 310
2026-06-05T02:56:35.6263390Z             },
2026-06-05T02:56:35.6263629Z             {
2026-06-05T02:56:35.6263963Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T02:56:35.6264210Z               "line": 326
2026-06-05T02:56:35.6264452Z             },
2026-06-05T02:56:35.6264680Z             {
2026-06-05T02:56:35.6265019Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T02:56:35.6265262Z               "line": 376
2026-06-05T02:56:35.6265497Z             },
2026-06-05T02:56:35.6265730Z             {
2026-06-05T02:56:35.6266060Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T02:56:35.6266309Z               "line": 390
2026-06-05T02:56:35.6266536Z             },
2026-06-05T02:56:35.6266768Z             {
2026-06-05T02:56:35.6267092Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T02:56:35.6267356Z               "line": 401
2026-06-05T02:56:35.6267591Z             },
2026-06-05T02:56:35.6267831Z             {
2026-06-05T02:56:35.6272592Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T02:56:35.6273072Z               "line": 412
2026-06-05T02:56:35.6273476Z             }
2026-06-05T02:56:35.6273747Z           ]
2026-06-05T02:56:35.6274028Z         }
2026-06-05T02:56:35.6274288Z       }
2026-06-05T02:56:35.6274521Z     },
2026-06-05T02:56:35.6274760Z     {
2026-06-05T02:56:35.6275112Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-05T02:56:35.6277469Z       "title": "Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)",
2026-06-05T02:56:35.6277761Z       "requiredStages": [
2026-06-05T02:56:35.6278022Z         "impl",
2026-06-05T02:56:35.6278264Z         "unit"
2026-06-05T02:56:35.6278494Z       ],
2026-06-05T02:56:35.6278740Z       "stages": {
2026-06-05T02:56:35.6278973Z         "doc": {
2026-06-05T02:56:35.6279352Z           "complete": false,
2026-06-05T02:56:35.6279901Z           "evidence": []
2026-06-05T02:56:35.6280161Z         },
2026-06-05T02:56:35.6280405Z         "impl": {
2026-06-05T02:56:35.6280661Z           "complete": true,
2026-06-05T02:56:35.6280909Z           "evidence": [
2026-06-05T02:56:35.6281132Z             {
2026-06-05T02:56:35.6281521Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T02:56:35.6281767Z               "line": 27
2026-06-05T02:56:35.6282007Z             },
2026-06-05T02:56:35.6282240Z             {
2026-06-05T02:56:35.6282610Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T02:56:35.6282866Z               "line": 110
2026-06-05T02:56:35.6283096Z             },
2026-06-05T02:56:35.6283329Z             {
2026-06-05T02:56:35.6283706Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T02:56:35.6283949Z               "line": 153
2026-06-05T02:56:35.6284187Z             },
2026-06-05T02:56:35.6284768Z             {
2026-06-05T02:56:35.6285157Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T02:56:35.6285545Z               "line": 182
2026-06-05T02:56:35.6285788Z             },
2026-06-05T02:56:35.6286019Z             {
2026-06-05T02:56:35.6286429Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T02:56:35.6286683Z               "line": 31
2026-06-05T02:56:35.6286912Z             },
2026-06-05T02:56:35.6287149Z             {
2026-06-05T02:56:35.6287559Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T02:56:35.6287815Z               "line": 113
2026-06-05T02:56:35.6288054Z             },
2026-06-05T02:56:35.6288280Z             {
2026-06-05T02:56:35.6288692Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T02:56:35.6288933Z               "line": 138
2026-06-05T02:56:35.6289225Z             }
2026-06-05T02:56:35.6289653Z           ]
2026-06-05T02:56:35.6290060Z         },
2026-06-05T02:56:35.6290316Z         "int": {
2026-06-05T02:56:35.6290572Z           "complete": false,
2026-06-05T02:56:35.6290837Z           "evidence": []
2026-06-05T02:56:35.6291065Z         },
2026-06-05T02:56:35.6291309Z         "unit": {
2026-06-05T02:56:35.6291560Z           "complete": true,
2026-06-05T02:56:35.6291813Z           "evidence": [
2026-06-05T02:56:35.6292078Z             {
2026-06-05T02:56:35.6292453Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T02:56:35.6292706Z               "line": 261
2026-06-05T02:56:35.6292932Z             },
2026-06-05T02:56:35.6293166Z             {
2026-06-05T02:56:35.6293537Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T02:56:35.6293789Z               "line": 276
2026-06-05T02:56:35.6294021Z             },
2026-06-05T02:56:35.6294245Z             {
2026-06-05T02:56:35.6294626Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T02:56:35.6294874Z               "line": 293
2026-06-05T02:56:35.6295120Z             },
2026-06-05T02:56:35.6295345Z             {
2026-06-05T02:56:35.6295730Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T02:56:35.6295984Z               "line": 310
2026-06-05T02:56:35.6296210Z             },
2026-06-05T02:56:35.6296447Z             {
2026-06-05T02:56:35.6296812Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T02:56:35.6297063Z               "line": 327
2026-06-05T02:56:35.6297298Z             },
2026-06-05T02:56:35.6297525Z             {
2026-06-05T02:56:35.6297908Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T02:56:35.6298153Z               "line": 366
2026-06-05T02:56:35.6298391Z             },
2026-06-05T02:56:35.6298618Z             {
2026-06-05T02:56:35.6299035Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T02:56:35.6299343Z               "line": 179
2026-06-05T02:56:35.6299757Z             },
2026-06-05T02:56:35.6300176Z             {
2026-06-05T02:56:35.6300589Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T02:56:35.6300848Z               "line": 194
2026-06-05T02:56:35.6301076Z             },
2026-06-05T02:56:35.6301310Z             {
2026-06-05T02:56:35.6301727Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T02:56:35.6301969Z               "line": 204
2026-06-05T02:56:35.6302200Z             },
2026-06-05T02:56:35.6302426Z             {
2026-06-05T02:56:35.6302840Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T02:56:35.6303082Z               "line": 259
2026-06-05T02:56:35.6303320Z             },
2026-06-05T02:56:35.6303552Z             {
2026-06-05T02:56:35.6303974Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T02:56:35.6304222Z               "line": 269
2026-06-05T02:56:35.6304455Z             },
2026-06-05T02:56:35.6304690Z             {
2026-06-05T02:56:35.6305098Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T02:56:35.6305519Z               "line": 283
2026-06-05T02:56:35.6305888Z             }
2026-06-05T02:56:35.6306124Z           ]
2026-06-05T02:56:35.6306357Z         }
2026-06-05T02:56:35.6306576Z       }
2026-06-05T02:56:35.6306809Z     },
2026-06-05T02:56:35.6307029Z     {
2026-06-05T02:56:35.6307346Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-05T02:56:35.6307921Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-05T02:56:35.6308185Z       "requiredStages": [],
2026-06-05T02:56:35.6308429Z       "stages": {
2026-06-05T02:56:35.6308658Z         "doc": {
2026-06-05T02:56:35.6308925Z           "complete": false,
2026-06-05T02:56:35.6309223Z           "evidence": []
2026-06-05T02:56:35.6309656Z         },
2026-06-05T02:56:35.6310079Z         "impl": {
2026-06-05T02:56:35.6310336Z           "complete": false,
2026-06-05T02:56:35.6310583Z           "evidence": []
2026-06-05T02:56:35.6310805Z         },
2026-06-05T02:56:35.6311052Z         "int": {
2026-06-05T02:56:35.6311312Z           "complete": false,
2026-06-05T02:56:35.6311582Z           "evidence": []
2026-06-05T02:56:35.6311815Z         },
2026-06-05T02:56:35.6312041Z         "unit": {
2026-06-05T02:56:35.6312301Z           "complete": false,
2026-06-05T02:56:35.6312543Z           "evidence": []
2026-06-05T02:56:35.6312772Z         }
2026-06-05T02:56:35.6312990Z       }
2026-06-05T02:56:35.6313220Z     },
2026-06-05T02:56:35.6313447Z     {
2026-06-05T02:56:35.6313780Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-05T02:56:35.6323112Z       "title": "Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)",
2026-06-05T02:56:35.6323512Z       "requiredStages": [
2026-06-05T02:56:35.6323775Z         "impl",
2026-06-05T02:56:35.6324021Z         "unit"
2026-06-05T02:56:35.6324307Z       ],
2026-06-05T02:56:35.6324557Z       "stages": {
2026-06-05T02:56:35.6324806Z         "doc": {
2026-06-05T02:56:35.6325085Z           "complete": false,
2026-06-05T02:56:35.6325331Z           "evidence": []
2026-06-05T02:56:35.6325576Z         },
2026-06-05T02:56:35.6325818Z         "impl": {
2026-06-05T02:56:35.6326072Z           "complete": true,
2026-06-05T02:56:35.6326326Z           "evidence": [
2026-06-05T02:56:35.6326551Z             {
2026-06-05T02:56:35.6326916Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T02:56:35.6327160Z               "line": 26
2026-06-05T02:56:35.6327403Z             },
2026-06-05T02:56:35.6327642Z             {
2026-06-05T02:56:35.6327992Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T02:56:35.6328249Z               "line": 93
2026-06-05T02:56:35.6328475Z             },
2026-06-05T02:56:35.6328711Z             {
2026-06-05T02:56:35.6329064Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T02:56:35.6329396Z               "line": 162
2026-06-05T02:56:35.6329641Z             },
2026-06-05T02:56:35.6329873Z             {
2026-06-05T02:56:35.6336015Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-05T02:56:35.6336413Z               "line": 19
2026-06-05T02:56:35.6336681Z             },
2026-06-05T02:56:35.6337003Z             {
2026-06-05T02:56:35.6337362Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-05T02:56:35.6337620Z               "line": 50
2026-06-05T02:56:35.6337851Z             },
2026-06-05T02:56:35.6338089Z             {
2026-06-05T02:56:35.6338413Z               "path": "crates/spt-live/src/turn.rs",
2026-06-05T02:56:35.6338666Z               "line": 18
2026-06-05T02:56:35.6338910Z             },
2026-06-05T02:56:35.6339136Z             {
2026-06-05T02:56:35.6339567Z               "path": "crates/spt-live/src/turn.rs",
2026-06-05T02:56:35.6339813Z               "line": 65
2026-06-05T02:56:35.6340053Z             },
2026-06-05T02:56:35.6340659Z             {
2026-06-05T02:56:35.6341010Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T02:56:35.6341410Z               "line": 70
2026-06-05T02:56:35.6341639Z             }
2026-06-05T02:56:35.6341878Z           ]
2026-06-05T02:56:35.6342101Z         },
2026-06-05T02:56:35.6342342Z         "int": {
2026-06-05T02:56:35.6342600Z           "complete": false,
2026-06-05T02:56:35.6342864Z           "evidence": []
2026-06-05T02:56:35.6343102Z         },
2026-06-05T02:56:35.6343340Z         "unit": {
2026-06-05T02:56:35.6343604Z           "complete": true,
2026-06-05T02:56:35.6343849Z           "evidence": [
2026-06-05T02:56:35.6344089Z             {
2026-06-05T02:56:35.6344452Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T02:56:35.6344709Z               "line": 280
2026-06-05T02:56:35.6344947Z             },
2026-06-05T02:56:35.6345179Z             {
2026-06-05T02:56:35.6345536Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T02:56:35.6345793Z               "line": 299
2026-06-05T02:56:35.6346033Z             },
2026-06-05T02:56:35.6346263Z             {
2026-06-05T02:56:35.6346628Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T02:56:35.6346882Z               "line": 327
2026-06-05T02:56:35.6347114Z             },
2026-06-05T02:56:35.6347348Z             {
2026-06-05T02:56:35.6347695Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T02:56:35.6347955Z               "line": 376
2026-06-05T02:56:35.6348187Z             },
2026-06-05T02:56:35.6348425Z             {
2026-06-05T02:56:35.6348783Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T02:56:35.6349029Z               "line": 387
2026-06-05T02:56:35.6349312Z             },
2026-06-05T02:56:35.6349541Z             {
2026-06-05T02:56:35.6349901Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T02:56:35.6350148Z               "line": 418
2026-06-05T02:56:35.6350387Z             },
2026-06-05T02:56:35.6350626Z             {
2026-06-05T02:56:35.6350986Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T02:56:35.6351252Z               "line": 429
2026-06-05T02:56:35.6351480Z             },
2026-06-05T02:56:35.6351722Z             {
2026-06-05T02:56:35.6352063Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-05T02:56:35.6352323Z               "line": 77
2026-06-05T02:56:35.6352556Z             },
2026-06-05T02:56:35.6352779Z             {
2026-06-05T02:56:35.6353128Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-05T02:56:35.6353368Z               "line": 95
2026-06-05T02:56:35.6353606Z             },
2026-06-05T02:56:35.6353838Z             {
2026-06-05T02:56:35.6354177Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-05T02:56:35.6354425Z               "line": 106
2026-06-05T02:56:35.6354657Z             },
2026-06-05T02:56:35.6354890Z             {
2026-06-05T02:56:35.6355220Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-05T02:56:35.6355486Z               "line": 117
2026-06-05T02:56:35.6355720Z             },
2026-06-05T02:56:35.6355957Z             {
2026-06-05T02:56:35.6356304Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-05T02:56:35.6356549Z               "line": 124
2026-06-05T02:56:35.6356787Z             },
2026-06-05T02:56:35.6357019Z             {
2026-06-05T02:56:35.6357367Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-05T02:56:35.6357618Z               "line": 137
2026-06-05T02:56:35.6357852Z             },
2026-06-05T02:56:35.6358089Z             {
2026-06-05T02:56:35.6358405Z               "path": "crates/spt-live/src/turn.rs",
2026-06-05T02:56:35.6358662Z               "line": 106
2026-06-05T02:56:35.6358890Z             },
2026-06-05T02:56:35.6359122Z             {
2026-06-05T02:56:35.6359483Z               "path": "crates/spt-live/src/turn.rs",
2026-06-05T02:56:35.6359744Z               "line": 118
2026-06-05T02:56:35.6359988Z             },
2026-06-05T02:56:35.6360214Z             {
2026-06-05T02:56:35.6360878Z               "path": "crates/spt-proto/src/event.rs",
2026-06-05T02:56:35.6361257Z               "line": 336
2026-06-05T02:56:35.6361498Z             }
2026-06-05T02:56:35.6361738Z           ]
2026-06-05T02:56:35.6362280Z         }
2026-06-05T02:56:35.6362545Z       }
2026-06-05T02:56:35.6362772Z     },
2026-06-05T02:56:35.6363010Z     {
2026-06-05T02:56:35.6363329Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-05T02:56:35.6364116Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-05T02:56:35.6364388Z       "requiredStages": [
2026-06-05T02:56:35.6364627Z         "impl",
2026-06-05T02:56:35.6364868Z         "unit"
2026-06-05T02:56:35.6365097Z       ],
2026-06-05T02:56:35.6365345Z       "stages": {
2026-06-05T02:56:35.6365576Z         "doc": {
2026-06-05T02:56:35.6365845Z           "complete": true,
2026-06-05T02:56:35.6366103Z           "evidence": [
2026-06-05T02:56:35.6366338Z             {
2026-06-05T02:56:35.6366661Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-05T02:56:35.6366903Z               "line": 137
2026-06-05T02:56:35.6367149Z             }
2026-06-05T02:56:35.6367375Z           ]
2026-06-05T02:56:35.6367616Z         },
2026-06-05T02:56:35.6367859Z         "impl": {
2026-06-05T02:56:35.6368116Z           "complete": true,
2026-06-05T02:56:35.6368366Z           "evidence": [
2026-06-05T02:56:35.6368598Z             {
2026-06-05T02:56:35.6368918Z               "path": "crates/spt-store/src/db.rs",
2026-06-05T02:56:35.6369229Z               "line": 29
2026-06-05T02:56:35.6369477Z             },
2026-06-05T02:56:35.6369717Z             {
2026-06-05T02:56:35.6370038Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T02:56:35.6370291Z               "line": 101
2026-06-05T02:56:35.6370521Z             },
2026-06-05T02:56:35.6370767Z             {
2026-06-05T02:56:35.6371111Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T02:56:35.6371371Z               "line": 30
2026-06-05T02:56:35.6371623Z             },
2026-06-05T02:56:35.6371848Z             {
2026-06-05T02:56:35.6372189Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.6372431Z               "line": 48
2026-06-05T02:56:35.6372666Z             }
2026-06-05T02:56:35.6372893Z           ]
2026-06-05T02:56:35.6373132Z         },
2026-06-05T02:56:35.6373369Z         "int": {
2026-06-05T02:56:35.6373625Z           "complete": false,
2026-06-05T02:56:35.6373881Z           "evidence": []
2026-06-05T02:56:35.6374113Z         },
2026-06-05T02:56:35.6374355Z         "unit": {
2026-06-05T02:56:35.6374609Z           "complete": true,
2026-06-05T02:56:35.6374864Z           "evidence": [
2026-06-05T02:56:35.6375094Z             {
2026-06-05T02:56:35.6375434Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T02:56:35.6375687Z               "line": 152
2026-06-05T02:56:35.6375912Z             }
2026-06-05T02:56:35.6376145Z           ]
2026-06-05T02:56:35.6376370Z         }
2026-06-05T02:56:35.6376622Z       }
2026-06-05T02:56:35.6376850Z     },
2026-06-05T02:56:35.6377069Z     {
2026-06-05T02:56:35.6377395Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-05T02:56:35.6378610Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-05T02:56:35.6378887Z       "requiredStages": [
2026-06-05T02:56:35.6379126Z         "doc",
2026-06-05T02:56:35.6379418Z         "impl",
2026-06-05T02:56:35.6379666Z         "unit"
2026-06-05T02:56:35.6379897Z       ],
2026-06-05T02:56:35.6380144Z       "stages": {
2026-06-05T02:56:35.6380381Z         "doc": {
2026-06-05T02:56:35.6380641Z           "complete": true,
2026-06-05T02:56:35.6380881Z           "evidence": [
2026-06-05T02:56:35.6385790Z             {
2026-06-05T02:56:35.6386287Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-05T02:56:35.6386559Z               "line": 149
2026-06-05T02:56:35.6386802Z             }
2026-06-05T02:56:35.6387035Z           ]
2026-06-05T02:56:35.6387569Z         },
2026-06-05T02:56:35.6387930Z         "impl": {
2026-06-05T02:56:35.6388349Z           "complete": true,
2026-06-05T02:56:35.6388607Z           "evidence": [
2026-06-05T02:56:35.6388837Z             {
2026-06-05T02:56:35.6389280Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T02:56:35.6389534Z               "line": 22
2026-06-05T02:56:35.6389770Z             }
2026-06-05T02:56:35.6390003Z           ]
2026-06-05T02:56:35.6390242Z         },
2026-06-05T02:56:35.6390483Z         "int": {
2026-06-05T02:56:35.6390742Z           "complete": false,
2026-06-05T02:56:35.6390994Z           "evidence": []
2026-06-05T02:56:35.6391221Z         },
2026-06-05T02:56:35.6391466Z         "unit": {
2026-06-05T02:56:35.6391718Z           "complete": true,
2026-06-05T02:56:35.6391970Z           "evidence": [
2026-06-05T02:56:35.6392207Z             {
2026-06-05T02:56:35.6392549Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T02:56:35.6392818Z               "line": 257
2026-06-05T02:56:35.6393045Z             }
2026-06-05T02:56:35.6393279Z           ]
2026-06-05T02:56:35.6393506Z         }
2026-06-05T02:56:35.6393743Z       }
2026-06-05T02:56:35.6393977Z     },
2026-06-05T02:56:35.6394198Z     {
2026-06-05T02:56:35.6394529Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-05T02:56:35.6395846Z       "title": "Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)",
2026-06-05T02:56:35.6396124Z       "requiredStages": [
2026-06-05T02:56:35.6396367Z         "impl",
2026-06-05T02:56:35.6396599Z         "unit"
2026-06-05T02:56:35.6396836Z       ],
2026-06-05T02:56:35.6397071Z       "stages": {
2026-06-05T02:56:35.6397311Z         "doc": {
2026-06-05T02:56:35.6397562Z           "complete": true,
2026-06-05T02:56:35.6397813Z           "evidence": [
2026-06-05T02:56:35.6398049Z             {
2026-06-05T02:56:35.6398349Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-05T02:56:35.6398615Z               "line": 143
2026-06-05T02:56:35.6398848Z             }
2026-06-05T02:56:35.6399092Z           ]
2026-06-05T02:56:35.6399365Z         },
2026-06-05T02:56:35.6399610Z         "impl": {
2026-06-05T02:56:35.6399869Z           "complete": true,
2026-06-05T02:56:35.6400109Z           "evidence": [
2026-06-05T02:56:35.6400344Z             {
2026-06-05T02:56:35.6400686Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6400946Z               "line": 147
2026-06-05T02:56:35.6401177Z             },
2026-06-05T02:56:35.6401410Z             {
2026-06-05T02:56:35.6401745Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-05T02:56:35.6401985Z               "line": 15
2026-06-05T02:56:35.6402224Z             }
2026-06-05T02:56:35.6402449Z           ]
2026-06-05T02:56:35.6402688Z         },
2026-06-05T02:56:35.6402922Z         "int": {
2026-06-05T02:56:35.6403188Z           "complete": false,
2026-06-05T02:56:35.6403444Z           "evidence": []
2026-06-05T02:56:35.6403677Z         },
2026-06-05T02:56:35.6403917Z         "unit": {
2026-06-05T02:56:35.6404175Z           "complete": true,
2026-06-05T02:56:35.6404429Z           "evidence": [
2026-06-05T02:56:35.6404653Z             {
2026-06-05T02:56:35.6405028Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-05T02:56:35.6405280Z               "line": 87
2026-06-05T02:56:35.6405512Z             },
2026-06-05T02:56:35.6405743Z             {
2026-06-05T02:56:35.6406085Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6406339Z               "line": 583
2026-06-05T02:56:35.6406568Z             },
2026-06-05T02:56:35.6406804Z             {
2026-06-05T02:56:35.6407158Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6407406Z               "line": 602
2026-06-05T02:56:35.6407645Z             },
2026-06-05T02:56:35.6407875Z             {
2026-06-05T02:56:35.6408240Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-05T02:56:35.6408663Z               "line": 148
2026-06-05T02:56:35.6408903Z             },
2026-06-05T02:56:35.6409316Z             {
2026-06-05T02:56:35.6409653Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-05T02:56:35.6409906Z               "line": 74
2026-06-05T02:56:35.6410136Z             },
2026-06-05T02:56:35.6410376Z             {
2026-06-05T02:56:35.6410696Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-05T02:56:35.6410947Z               "line": 88
2026-06-05T02:56:35.6411185Z             },
2026-06-05T02:56:35.6411410Z             {
2026-06-05T02:56:35.6411740Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-05T02:56:35.6411984Z               "line": 104
2026-06-05T02:56:35.6412221Z             }
2026-06-05T02:56:35.6412446Z           ]
2026-06-05T02:56:35.6412680Z         }
2026-06-05T02:56:35.6412917Z       }
2026-06-05T02:56:35.6413142Z     },
2026-06-05T02:56:35.6413376Z     {
2026-06-05T02:56:35.6413703Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-05T02:56:35.6414285Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-05T02:56:35.6414554Z       "requiredStages": [
2026-06-05T02:56:35.6414798Z         "impl",
2026-06-05T02:56:35.6415039Z         "unit"
2026-06-05T02:56:35.6415262Z       ],
2026-06-05T02:56:35.6415506Z       "stages": {
2026-06-05T02:56:35.6415743Z         "doc": {
2026-06-05T02:56:35.6416012Z           "complete": false,
2026-06-05T02:56:35.6416257Z           "evidence": []
2026-06-05T02:56:35.6416491Z         },
2026-06-05T02:56:35.6416735Z         "impl": {
2026-06-05T02:56:35.6416988Z           "complete": true,
2026-06-05T02:56:35.6417243Z           "evidence": [
2026-06-05T02:56:35.6417471Z             {
2026-06-05T02:56:35.6417805Z               "path": "crates/spt-store/src/proc.rs",
2026-06-05T02:56:35.6418048Z               "line": 15
2026-06-05T02:56:35.6418288Z             },
2026-06-05T02:56:35.6418521Z             {
2026-06-05T02:56:35.6418863Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T02:56:35.6419125Z               "line": 55
2026-06-05T02:56:35.6419413Z             },
2026-06-05T02:56:35.6419657Z             {
2026-06-05T02:56:35.6419996Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T02:56:35.6420255Z               "line": 62
2026-06-05T02:56:35.6420504Z             },
2026-06-05T02:56:35.6420732Z             {
2026-06-05T02:56:35.6421076Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T02:56:35.6421321Z               "line": 107
2026-06-05T02:56:35.6421566Z             },
2026-06-05T02:56:35.6421794Z             {
2026-06-05T02:56:35.6422140Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T02:56:35.6422392Z               "line": 128
2026-06-05T02:56:35.6422617Z             }
2026-06-05T02:56:35.6422850Z           ]
2026-06-05T02:56:35.6423074Z         },
2026-06-05T02:56:35.6423315Z         "int": {
2026-06-05T02:56:35.6423569Z           "complete": false,
2026-06-05T02:56:35.6423835Z           "evidence": []
2026-06-05T02:56:35.6424070Z         },
2026-06-05T02:56:35.6424304Z         "unit": {
2026-06-05T02:56:35.6424575Z           "complete": true,
2026-06-05T02:56:35.6424821Z           "evidence": [
2026-06-05T02:56:35.6425063Z             {
2026-06-05T02:56:35.6425392Z               "path": "crates/spt-store/src/proc.rs",
2026-06-05T02:56:35.6425646Z               "line": 145
2026-06-05T02:56:35.6425885Z             },
2026-06-05T02:56:35.6426114Z             {
2026-06-05T02:56:35.6426438Z               "path": "crates/spt-store/src/proc.rs",
2026-06-05T02:56:35.6426681Z               "line": 151
2026-06-05T02:56:35.6426919Z             },
2026-06-05T02:56:35.6427151Z             {
2026-06-05T02:56:35.6427471Z               "path": "crates/spt-store/src/proc.rs",
2026-06-05T02:56:35.6427727Z               "line": 162
2026-06-05T02:56:35.6427955Z             },
2026-06-05T02:56:35.6428187Z             {
2026-06-05T02:56:35.6428505Z               "path": "crates/spt-store/src/proc.rs",
2026-06-05T02:56:35.6428931Z               "line": 171
2026-06-05T02:56:35.6429237Z             },
2026-06-05T02:56:35.6429639Z             {
2026-06-05T02:56:35.6430009Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T02:56:35.6430257Z               "line": 183
2026-06-05T02:56:35.6434913Z             },
2026-06-05T02:56:35.6435288Z             {
2026-06-05T02:56:35.6435692Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T02:56:35.6435953Z               "line": 193
2026-06-05T02:56:35.6436186Z             },
2026-06-05T02:56:35.6436425Z             {
2026-06-05T02:56:35.6436762Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T02:56:35.6437022Z               "line": 237
2026-06-05T02:56:35.6437257Z             },
2026-06-05T02:56:35.6437494Z             {
2026-06-05T02:56:35.6437850Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T02:56:35.6438098Z               "line": 249
2026-06-05T02:56:35.6438336Z             },
2026-06-05T02:56:35.6438600Z             {
2026-06-05T02:56:35.6438953Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T02:56:35.6439281Z               "line": 275
2026-06-05T02:56:35.6439525Z             }
2026-06-05T02:56:35.6439765Z           ]
2026-06-05T02:56:35.6439993Z         }
2026-06-05T02:56:35.6440235Z       }
2026-06-05T02:56:35.6440458Z     },
2026-06-05T02:56:35.6440688Z     {
2026-06-05T02:56:35.6440994Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-05T02:56:35.6441805Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-05T02:56:35.6442074Z       "requiredStages": [
2026-06-05T02:56:35.6442309Z         "impl",
2026-06-05T02:56:35.6442543Z         "unit",
2026-06-05T02:56:35.6442773Z         "int"
2026-06-05T02:56:35.6443011Z       ],
2026-06-05T02:56:35.6443248Z       "stages": {
2026-06-05T02:56:35.6443493Z         "doc": {
2026-06-05T02:56:35.6443760Z           "complete": false,
2026-06-05T02:56:35.6444014Z           "evidence": []
2026-06-05T02:56:35.6444247Z         },
2026-06-05T02:56:35.6444484Z         "impl": {
2026-06-05T02:56:35.6444759Z           "complete": true,
2026-06-05T02:56:35.6445011Z           "evidence": [
2026-06-05T02:56:35.6445249Z             {
2026-06-05T02:56:35.6445585Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T02:56:35.6445835Z               "line": 246
2026-06-05T02:56:35.6446078Z             },
2026-06-05T02:56:35.6446308Z             {
2026-06-05T02:56:35.6446645Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T02:56:35.6446890Z               "line": 506
2026-06-05T02:56:35.6447130Z             },
2026-06-05T02:56:35.6447366Z             {
2026-06-05T02:56:35.6447690Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T02:56:35.6447942Z               "line": 529
2026-06-05T02:56:35.6448173Z             },
2026-06-05T02:56:35.6448410Z             {
2026-06-05T02:56:35.6448740Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T02:56:35.6449010Z               "line": 553
2026-06-05T02:56:35.6449291Z             },
2026-06-05T02:56:35.6449540Z             {
2026-06-05T02:56:35.6449883Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T02:56:35.6450128Z               "line": 472
2026-06-05T02:56:35.6450366Z             },
2026-06-05T02:56:35.6450591Z             {
2026-06-05T02:56:35.6450945Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T02:56:35.6451196Z               "line": 553
2026-06-05T02:56:35.6451427Z             },
2026-06-05T02:56:35.6451660Z             {
2026-06-05T02:56:35.6451991Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T02:56:35.6452240Z               "line": 597
2026-06-05T02:56:35.6452474Z             },
2026-06-05T02:56:35.6452699Z             {
2026-06-05T02:56:35.6453039Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-05T02:56:35.6453282Z               "line": 640
2026-06-05T02:56:35.6453520Z             },
2026-06-05T02:56:35.6454037Z             {
2026-06-05T02:56:35.6454385Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-05T02:56:35.6454768Z               "line": 46
2026-06-05T02:56:35.6455002Z             },
2026-06-05T02:56:35.6455234Z             {
2026-06-05T02:56:35.6455569Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-05T02:56:35.6455824Z               "line": 160
2026-06-05T02:56:35.6456055Z             },
2026-06-05T02:56:35.6456291Z             {
2026-06-05T02:56:35.6456615Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-05T02:56:35.6456868Z               "line": 71
2026-06-05T02:56:35.6457114Z             },
2026-06-05T02:56:35.6457341Z             {
2026-06-05T02:56:35.6457680Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.6457925Z               "line": 128
2026-06-05T02:56:35.6458162Z             },
2026-06-05T02:56:35.6458396Z             {
2026-06-05T02:56:35.6458717Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.6458980Z               "line": 174
2026-06-05T02:56:35.6459257Z             }
2026-06-05T02:56:35.6459514Z           ]
2026-06-05T02:56:35.6459744Z         },
2026-06-05T02:56:35.6459987Z         "int": {
2026-06-05T02:56:35.6460249Z           "complete": true,
2026-06-05T02:56:35.6460492Z           "evidence": [
2026-06-05T02:56:35.6460729Z             {
2026-06-05T02:56:35.6461098Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-05T02:56:35.6461353Z               "line": 27
2026-06-05T02:56:35.6461584Z             },
2026-06-05T02:56:35.6461823Z             {
2026-06-05T02:56:35.6462190Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-05T02:56:35.6462435Z               "line": 125
2026-06-05T02:56:35.6462673Z             },
2026-06-05T02:56:35.6462901Z             {
2026-06-05T02:56:35.6463266Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-05T02:56:35.6463512Z               "line": 189
2026-06-05T02:56:35.6463760Z             }
2026-06-05T02:56:35.6464004Z           ]
2026-06-05T02:56:35.6464235Z         },
2026-06-05T02:56:35.6464489Z         "unit": {
2026-06-05T02:56:35.6464742Z           "complete": true,
2026-06-05T02:56:35.6464992Z           "evidence": [
2026-06-05T02:56:35.6465216Z             {
2026-06-05T02:56:35.6465560Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-05T02:56:35.6465817Z               "line": 282
2026-06-05T02:56:35.6466050Z             },
2026-06-05T02:56:35.6466285Z             {
2026-06-05T02:56:35.6466617Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-05T02:56:35.6466872Z               "line": 300
2026-06-05T02:56:35.6467100Z             },
2026-06-05T02:56:35.6467337Z             {
2026-06-05T02:56:35.6467677Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-05T02:56:35.6467921Z               "line": 318
2026-06-05T02:56:35.6468159Z             },
2026-06-05T02:56:35.6468387Z             {
2026-06-05T02:56:35.6468753Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-05T02:56:35.6469009Z               "line": 221
2026-06-05T02:56:35.6469300Z             },
2026-06-05T02:56:35.6469548Z             {
2026-06-05T02:56:35.6469884Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-05T02:56:35.6470139Z               "line": 204
2026-06-05T02:56:35.6470368Z             },
2026-06-05T02:56:35.6470603Z             {
2026-06-05T02:56:35.6470944Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-05T02:56:35.6471191Z               "line": 182
2026-06-05T02:56:35.6471428Z             },
2026-06-05T02:56:35.6471656Z             {
2026-06-05T02:56:35.6471987Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.6472231Z               "line": 441
2026-06-05T02:56:35.6472470Z             },
2026-06-05T02:56:35.6472703Z             {
2026-06-05T02:56:35.6473023Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.6473277Z               "line": 465
2026-06-05T02:56:35.6473670Z             }
2026-06-05T02:56:35.6473908Z           ]
2026-06-05T02:56:35.6474141Z         }
2026-06-05T02:56:35.6474507Z       }
2026-06-05T02:56:35.6474755Z     },
2026-06-05T02:56:35.6474982Z     {
2026-06-05T02:56:35.6475314Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-05T02:56:35.6475869Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-05T02:56:35.6476142Z       "requiredStages": [
2026-06-05T02:56:35.6476381Z         "impl",
2026-06-05T02:56:35.6476629Z         "unit"
2026-06-05T02:56:35.6476869Z       ],
2026-06-05T02:56:35.6477107Z       "stages": {
2026-06-05T02:56:35.6477345Z         "doc": {
2026-06-05T02:56:35.6477603Z           "complete": false,
2026-06-05T02:56:35.6477864Z           "evidence": []
2026-06-05T02:56:35.6478090Z         },
2026-06-05T02:56:35.6478342Z         "impl": {
2026-06-05T02:56:35.6478601Z           "complete": true,
2026-06-05T02:56:35.6483190Z           "evidence": [
2026-06-05T02:56:35.6483613Z             {
2026-06-05T02:56:35.6484034Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.6484304Z               "line": 56
2026-06-05T02:56:35.6484546Z             },
2026-06-05T02:56:35.6484782Z             {
2026-06-05T02:56:35.6485156Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.6485405Z               "line": 65
2026-06-05T02:56:35.6485645Z             },
2026-06-05T02:56:35.6485871Z             {
2026-06-05T02:56:35.6486248Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.6486492Z               "line": 72
2026-06-05T02:56:35.6486729Z             },
2026-06-05T02:56:35.6486969Z             {
2026-06-05T02:56:35.6487291Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6487542Z               "line": 33
2026-06-05T02:56:35.6487773Z             },
2026-06-05T02:56:35.6488008Z             {
2026-06-05T02:56:35.6488328Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6488587Z               "line": 61
2026-06-05T02:56:35.6488822Z             },
2026-06-05T02:56:35.6489056Z             {
2026-06-05T02:56:35.6489458Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6489703Z               "line": 70
2026-06-05T02:56:35.6489946Z             },
2026-06-05T02:56:35.6490169Z             {
2026-06-05T02:56:35.6490507Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6490761Z               "line": 79
2026-06-05T02:56:35.6490988Z             },
2026-06-05T02:56:35.6491224Z             {
2026-06-05T02:56:35.6491550Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6491800Z               "line": 88
2026-06-05T02:56:35.6492032Z             },
2026-06-05T02:56:35.6492266Z             {
2026-06-05T02:56:35.6492595Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6492834Z               "line": 97
2026-06-05T02:56:35.6493077Z             },
2026-06-05T02:56:35.6493317Z             {
2026-06-05T02:56:35.6493650Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6493906Z               "line": 105
2026-06-05T02:56:35.6494143Z             },
2026-06-05T02:56:35.6494378Z             {
2026-06-05T02:56:35.6494704Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6494959Z               "line": 114
2026-06-05T02:56:35.6495185Z             },
2026-06-05T02:56:35.6495420Z             {
2026-06-05T02:56:35.6495743Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6495995Z               "line": 123
2026-06-05T02:56:35.6496231Z             },
2026-06-05T02:56:35.6496457Z             {
2026-06-05T02:56:35.6496786Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6497025Z               "line": 130
2026-06-05T02:56:35.6497262Z             },
2026-06-05T02:56:35.6497497Z             {
2026-06-05T02:56:35.6497816Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6498322Z               "line": 137
2026-06-05T02:56:35.6498556Z             },
2026-06-05T02:56:35.6498796Z             {
2026-06-05T02:56:35.6499310Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6499572Z               "line": 145
2026-06-05T02:56:35.6499813Z             },
2026-06-05T02:56:35.6500035Z             {
2026-06-05T02:56:35.6500367Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6500609Z               "line": 154
2026-06-05T02:56:35.6500845Z             },
2026-06-05T02:56:35.6501072Z             {
2026-06-05T02:56:35.6501408Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6501662Z               "line": 163
2026-06-05T02:56:35.6501890Z             },
2026-06-05T02:56:35.6502120Z             {
2026-06-05T02:56:35.6502443Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6502693Z               "line": 172
2026-06-05T02:56:35.6502920Z             },
2026-06-05T02:56:35.6503158Z             {
2026-06-05T02:56:35.6503506Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6503762Z               "line": 184
2026-06-05T02:56:35.6503996Z             },
2026-06-05T02:56:35.6504224Z             {
2026-06-05T02:56:35.6504559Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6504805Z               "line": 191
2026-06-05T02:56:35.6505047Z             },
2026-06-05T02:56:35.6505282Z             {
2026-06-05T02:56:35.6505609Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6505864Z               "line": 200
2026-06-05T02:56:35.6506098Z             },
2026-06-05T02:56:35.6506331Z             {
2026-06-05T02:56:35.6506657Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6506913Z               "line": 207
2026-06-05T02:56:35.6507153Z             },
2026-06-05T02:56:35.6507376Z             {
2026-06-05T02:56:35.6507711Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6507957Z               "line": 274
2026-06-05T02:56:35.6508212Z             },
2026-06-05T02:56:35.6508440Z             {
2026-06-05T02:56:35.6508779Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6509030Z               "line": 286
2026-06-05T02:56:35.6509307Z             },
2026-06-05T02:56:35.6509714Z             {
2026-06-05T02:56:35.6510091Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6510547Z               "line": 373
2026-06-05T02:56:35.6510995Z             }
2026-06-05T02:56:35.6511282Z           ]
2026-06-05T02:56:35.6511585Z         },
2026-06-05T02:56:35.6511854Z         "int": {
2026-06-05T02:56:35.6512159Z           "complete": false,
2026-06-05T02:56:35.6512438Z           "evidence": []
2026-06-05T02:56:35.6512715Z         },
2026-06-05T02:56:35.6512975Z         "unit": {
2026-06-05T02:56:35.6513252Z           "complete": true,
2026-06-05T02:56:35.6513526Z           "evidence": [
2026-06-05T02:56:35.6513792Z             {
2026-06-05T02:56:35.6514142Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6514439Z               "line": 443
2026-06-05T02:56:35.6514719Z             },
2026-06-05T02:56:35.6514964Z             {
2026-06-05T02:56:35.6515328Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6515604Z               "line": 469
2026-06-05T02:56:35.6515884Z             },
2026-06-05T02:56:35.6516154Z             {
2026-06-05T02:56:35.6516562Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6516861Z               "line": 482
2026-06-05T02:56:35.6517142Z             },
2026-06-05T02:56:35.6517406Z             {
2026-06-05T02:56:35.6517753Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6518019Z               "line": 547
2026-06-05T02:56:35.6518274Z             }
2026-06-05T02:56:35.6518537Z           ]
2026-06-05T02:56:35.6518782Z         }
2026-06-05T02:56:35.6519059Z       }
2026-06-05T02:56:35.6519424Z     },
2026-06-05T02:56:35.6519841Z     {
2026-06-05T02:56:35.6520441Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-05T02:56:35.6521068Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-05T02:56:35.6521769Z       "requiredStages": [
2026-06-05T02:56:35.6522082Z         "impl",
2026-06-05T02:56:35.6522406Z         "unit"
2026-06-05T02:56:35.6522710Z       ],
2026-06-05T02:56:35.6523302Z       "stages": {
2026-06-05T02:56:35.6523589Z         "doc": {
2026-06-05T02:56:35.6523922Z           "complete": false,
2026-06-05T02:56:35.6524228Z           "evidence": []
2026-06-05T02:56:35.6524496Z         },
2026-06-05T02:56:35.6524790Z         "impl": {
2026-06-05T02:56:35.6525108Z           "complete": true,
2026-06-05T02:56:35.6525420Z           "evidence": [
2026-06-05T02:56:35.6525672Z             {
2026-06-05T02:56:35.6526044Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T02:56:35.6526348Z               "line": 132
2026-06-05T02:56:35.6526615Z             },
2026-06-05T02:56:35.6526886Z             {
2026-06-05T02:56:35.6527287Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.6527581Z               "line": 130
2026-06-05T02:56:35.6527829Z             }
2026-06-05T02:56:35.6535303Z           ]
2026-06-05T02:56:35.6535839Z         },
2026-06-05T02:56:35.6536100Z         "int": {
2026-06-05T02:56:35.6536394Z           "complete": false,
2026-06-05T02:56:35.6536653Z           "evidence": []
2026-06-05T02:56:35.6536904Z         },
2026-06-05T02:56:35.6537501Z         "unit": {
2026-06-05T02:56:35.6537795Z           "complete": true,
2026-06-05T02:56:35.6538058Z           "evidence": [
2026-06-05T02:56:35.6538291Z             {
2026-06-05T02:56:35.6538641Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T02:56:35.6538895Z               "line": 250
2026-06-05T02:56:35.6539141Z             },
2026-06-05T02:56:35.6539459Z             {
2026-06-05T02:56:35.6540016Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.6540273Z               "line": 497
2026-06-05T02:56:35.6540542Z             },
2026-06-05T02:56:35.6540782Z             {
2026-06-05T02:56:35.6541141Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.6541394Z               "line": 507
2026-06-05T02:56:35.6541633Z             }
2026-06-05T02:56:35.6541857Z           ]
2026-06-05T02:56:35.6542091Z         }
2026-06-05T02:56:35.6542312Z       }
2026-06-05T02:56:35.6542543Z     },
2026-06-05T02:56:35.6542768Z     {
2026-06-05T02:56:35.6543075Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-05T02:56:35.6543468Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-05T02:56:35.6543740Z       "requiredStages": [
2026-06-05T02:56:35.6543982Z         "impl",
2026-06-05T02:56:35.6544214Z         "unit"
2026-06-05T02:56:35.6544450Z       ],
2026-06-05T02:56:35.6544681Z       "stages": {
2026-06-05T02:56:35.6544919Z         "doc": {
2026-06-05T02:56:35.6545177Z           "complete": false,
2026-06-05T02:56:35.6545437Z           "evidence": []
2026-06-05T02:56:35.6545680Z         },
2026-06-05T02:56:35.6545917Z         "impl": {
2026-06-05T02:56:35.6546186Z           "complete": true,
2026-06-05T02:56:35.6546439Z           "evidence": [
2026-06-05T02:56:35.6546674Z             {
2026-06-05T02:56:35.6547019Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-05T02:56:35.6547272Z               "line": 54
2026-06-05T02:56:35.6547509Z             },
2026-06-05T02:56:35.6547735Z             {
2026-06-05T02:56:35.6548109Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.6548353Z               "line": 393
2026-06-05T02:56:35.6548588Z             }
2026-06-05T02:56:35.6548812Z           ]
2026-06-05T02:56:35.6549045Z         },
2026-06-05T02:56:35.6549323Z         "int": {
2026-06-05T02:56:35.6549590Z           "complete": false,
2026-06-05T02:56:35.6549848Z           "evidence": []
2026-06-05T02:56:35.6550075Z         },
2026-06-05T02:56:35.6550316Z         "unit": {
2026-06-05T02:56:35.6550568Z           "complete": true,
2026-06-05T02:56:35.6551265Z           "evidence": [
2026-06-05T02:56:35.6551505Z             {
2026-06-05T02:56:35.6552029Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.6552289Z               "line": 425
2026-06-05T02:56:35.6552517Z             }
2026-06-05T02:56:35.6552757Z           ]
2026-06-05T02:56:35.6552981Z         }
2026-06-05T02:56:35.6553220Z       }
2026-06-05T02:56:35.6553456Z     },
2026-06-05T02:56:35.6553685Z     {
2026-06-05T02:56:35.6554033Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-05T02:56:35.6554524Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-05T02:56:35.6554800Z       "requiredStages": [
2026-06-05T02:56:35.6555036Z         "impl",
2026-06-05T02:56:35.6555277Z         "unit"
2026-06-05T02:56:35.6555513Z       ],
2026-06-05T02:56:35.6555750Z       "stages": {
2026-06-05T02:56:35.6555995Z         "doc": {
2026-06-05T02:56:35.6556254Z           "complete": false,
2026-06-05T02:56:35.6556522Z           "evidence": []
2026-06-05T02:56:35.6556767Z         },
2026-06-05T02:56:35.6557021Z         "impl": {
2026-06-05T02:56:35.6557303Z           "complete": true,
2026-06-05T02:56:35.6557556Z           "evidence": [
2026-06-05T02:56:35.6557799Z             {
2026-06-05T02:56:35.6558157Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.6558415Z               "line": 432
2026-06-05T02:56:35.6558645Z             },
2026-06-05T02:56:35.6558885Z             {
2026-06-05T02:56:35.6559286Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-05T02:56:35.6559545Z               "line": 28
2026-06-05T02:56:35.6559795Z             }
2026-06-05T02:56:35.6560026Z           ]
2026-06-05T02:56:35.6560269Z         },
2026-06-05T02:56:35.6560501Z         "int": {
2026-06-05T02:56:35.6560776Z           "complete": false,
2026-06-05T02:56:35.6561038Z           "evidence": []
2026-06-05T02:56:35.6561274Z         },
2026-06-05T02:56:35.6561516Z         "unit": {
2026-06-05T02:56:35.6561787Z           "complete": true,
2026-06-05T02:56:35.6562047Z           "evidence": [
2026-06-05T02:56:35.6562293Z             {
2026-06-05T02:56:35.6562638Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-05T02:56:35.6562898Z               "line": 200
2026-06-05T02:56:35.6563131Z             }
2026-06-05T02:56:35.6563368Z           ]
2026-06-05T02:56:35.6563595Z         }
2026-06-05T02:56:35.6563834Z       }
2026-06-05T02:56:35.6564062Z     },
2026-06-05T02:56:35.6564301Z     {
2026-06-05T02:56:35.6564620Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-05T02:56:35.6565015Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-05T02:56:35.6565293Z       "requiredStages": [],
2026-06-05T02:56:35.6565537Z       "stages": {
2026-06-05T02:56:35.6565786Z         "doc": {
2026-06-05T02:56:35.6566048Z           "complete": false,
2026-06-05T02:56:35.6566310Z           "evidence": []
2026-06-05T02:56:35.6566553Z         },
2026-06-05T02:56:35.6566792Z         "impl": {
2026-06-05T02:56:35.6567076Z           "complete": false,
2026-06-05T02:56:35.6567330Z           "evidence": []
2026-06-05T02:56:35.6567581Z         },
2026-06-05T02:56:35.6567818Z         "int": {
2026-06-05T02:56:35.6568084Z           "complete": false,
2026-06-05T02:56:35.6568338Z           "evidence": []
2026-06-05T02:56:35.6568568Z         },
2026-06-05T02:56:35.6568815Z         "unit": {
2026-06-05T02:56:35.6569074Z           "complete": false,
2026-06-05T02:56:35.6569391Z           "evidence": []
2026-06-05T02:56:35.6569631Z         }
2026-06-05T02:56:35.6569870Z       }
2026-06-05T02:56:35.6570106Z     },
2026-06-05T02:56:35.6570337Z     {
2026-06-05T02:56:35.6570663Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-05T02:56:35.6571094Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-05T02:56:35.6571366Z       "requiredStages": [
2026-06-05T02:56:35.6571602Z         "impl",
2026-06-05T02:56:35.6571844Z         "unit"
2026-06-05T02:56:35.6572084Z       ],
2026-06-05T02:56:35.6572506Z       "stages": {
2026-06-05T02:56:35.6572752Z         "doc": {
2026-06-05T02:56:35.6573014Z           "complete": false,
2026-06-05T02:56:35.6573410Z           "evidence": []
2026-06-05T02:56:35.6573647Z         },
2026-06-05T02:56:35.6573897Z         "impl": {
2026-06-05T02:56:35.6574168Z           "complete": true,
2026-06-05T02:56:35.6574422Z           "evidence": [
2026-06-05T02:56:35.6574666Z             {
2026-06-05T02:56:35.6574995Z               "path": "crates/spt-live/src/turn.rs",
2026-06-05T02:56:35.6575253Z               "line": 19
2026-06-05T02:56:35.6575489Z             },
2026-06-05T02:56:35.6575735Z             {
2026-06-05T02:56:35.6576095Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T02:56:35.6576345Z               "line": 325
2026-06-05T02:56:35.6576585Z             },
2026-06-05T02:56:35.6576816Z             {
2026-06-05T02:56:35.6577178Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T02:56:35.6577431Z               "line": 361
2026-06-05T02:56:35.6577685Z             },
2026-06-05T02:56:35.6577927Z             {
2026-06-05T02:56:35.6578269Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-05T02:56:35.6578541Z               "line": 15
2026-06-05T02:56:35.6578778Z             },
2026-06-05T02:56:35.6579022Z             {
2026-06-05T02:56:35.6579405Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-05T02:56:35.6579671Z               "line": 48
2026-06-05T02:56:35.6585411Z             },
2026-06-05T02:56:35.6585793Z             {
2026-06-05T02:56:35.6586168Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-05T02:56:35.6586421Z               "line": 106
2026-06-05T02:56:35.6586675Z             }
2026-06-05T02:56:35.6586929Z           ]
2026-06-05T02:56:35.6587160Z         },
2026-06-05T02:56:35.6587416Z         "int": {
2026-06-05T02:56:35.6587680Z           "complete": false,
2026-06-05T02:56:35.6587940Z           "evidence": []
2026-06-05T02:56:35.6588173Z         },
2026-06-05T02:56:35.6588418Z         "unit": {
2026-06-05T02:56:35.6588717Z           "complete": true,
2026-06-05T02:56:35.6588974Z           "evidence": [
2026-06-05T02:56:35.6589292Z             {
2026-06-05T02:56:35.6589654Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T02:56:35.6589910Z               "line": 453
2026-06-05T02:56:35.6590139Z             },
2026-06-05T02:56:35.6590383Z             {
2026-06-05T02:56:35.6590734Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-05T02:56:35.6590981Z               "line": 149
2026-06-05T02:56:35.6591219Z             },
2026-06-05T02:56:35.6591446Z             {
2026-06-05T02:56:35.6591788Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-05T02:56:35.6592031Z               "line": 156
2026-06-05T02:56:35.6592270Z             }
2026-06-05T02:56:35.6592500Z           ]
2026-06-05T02:56:35.6592731Z         }
2026-06-05T02:56:35.6592966Z       }
2026-06-05T02:56:35.6593187Z     },
2026-06-05T02:56:35.6593413Z     {
2026-06-05T02:56:35.6593745Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-05T02:56:35.6594225Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-05T02:56:35.6594507Z       "requiredStages": [
2026-06-05T02:56:35.6594746Z         "impl",
2026-06-05T02:56:35.6594992Z         "unit"
2026-06-05T02:56:35.6595220Z       ],
2026-06-05T02:56:35.6595471Z       "stages": {
2026-06-05T02:56:35.6595711Z         "doc": {
2026-06-05T02:56:35.6595982Z           "complete": false,
2026-06-05T02:56:35.6596238Z           "evidence": []
2026-06-05T02:56:35.6596467Z         },
2026-06-05T02:56:35.6596713Z         "impl": {
2026-06-05T02:56:35.6596970Z           "complete": true,
2026-06-05T02:56:35.6597228Z           "evidence": [
2026-06-05T02:56:35.6597457Z             {
2026-06-05T02:56:35.6597803Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T02:56:35.6598054Z               "line": 35
2026-06-05T02:56:35.6598283Z             }
2026-06-05T02:56:35.6598523Z           ]
2026-06-05T02:56:35.6598750Z         },
2026-06-05T02:56:35.6599317Z         "int": {
2026-06-05T02:56:35.6599588Z           "complete": false,
2026-06-05T02:56:35.6599982Z           "evidence": []
2026-06-05T02:56:35.6600224Z         },
2026-06-05T02:56:35.6600458Z         "unit": {
2026-06-05T02:56:35.6600722Z           "complete": true,
2026-06-05T02:56:35.6600974Z           "evidence": [
2026-06-05T02:56:35.6601210Z             {
2026-06-05T02:56:35.6601543Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-05T02:56:35.6601803Z               "line": 217
2026-06-05T02:56:35.6602046Z             }
2026-06-05T02:56:35.6602273Z           ]
2026-06-05T02:56:35.6602511Z         }
2026-06-05T02:56:35.6602734Z       }
2026-06-05T02:56:35.6602975Z     },
2026-06-05T02:56:35.6603199Z     {
2026-06-05T02:56:35.6603513Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-05T02:56:35.6604323Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-05T02:56:35.6604599Z       "requiredStages": [
2026-06-05T02:56:35.6604858Z         "impl",
2026-06-05T02:56:35.6605090Z         "unit"
2026-06-05T02:56:35.6605339Z       ],
2026-06-05T02:56:35.6605574Z       "stages": {
2026-06-05T02:56:35.6605817Z         "doc": {
2026-06-05T02:56:35.6606088Z           "complete": false,
2026-06-05T02:56:35.6606338Z           "evidence": []
2026-06-05T02:56:35.6606577Z         },
2026-06-05T02:56:35.6606815Z         "impl": {
2026-06-05T02:56:35.6607077Z           "complete": true,
2026-06-05T02:56:35.6607323Z           "evidence": [
2026-06-05T02:56:35.6607561Z             {
2026-06-05T02:56:35.6607939Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-05T02:56:35.6608190Z               "line": 256
2026-06-05T02:56:35.6608427Z             },
2026-06-05T02:56:35.6608655Z             {
2026-06-05T02:56:35.6609006Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T02:56:35.6609297Z               "line": 221
2026-06-05T02:56:35.6609543Z             },
2026-06-05T02:56:35.6609790Z             {
2026-06-05T02:56:35.6610133Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T02:56:35.6610396Z               "line": 150
2026-06-05T02:56:35.6610623Z             }
2026-06-05T02:56:35.6610860Z           ]
2026-06-05T02:56:35.6611095Z         },
2026-06-05T02:56:35.6611341Z         "int": {
2026-06-05T02:56:35.6611608Z           "complete": false,
2026-06-05T02:56:35.6611853Z           "evidence": []
2026-06-05T02:56:35.6612114Z         },
2026-06-05T02:56:35.6612348Z         "unit": {
2026-06-05T02:56:35.6612611Z           "complete": true,
2026-06-05T02:56:35.6612858Z           "evidence": [
2026-06-05T02:56:35.6613095Z             {
2026-06-05T02:56:35.6613451Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T02:56:35.6613699Z               "line": 477
2026-06-05T02:56:35.6613940Z             },
2026-06-05T02:56:35.6614170Z             {
2026-06-05T02:56:35.6614521Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T02:56:35.6614783Z               "line": 488
2026-06-05T02:56:35.6615022Z             },
2026-06-05T02:56:35.6615257Z             {
2026-06-05T02:56:35.6615608Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T02:56:35.6615862Z               "line": 504
2026-06-05T02:56:35.6616094Z             },
2026-06-05T02:56:35.6616336Z             {
2026-06-05T02:56:35.6616676Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T02:56:35.6616932Z               "line": 518
2026-06-05T02:56:35.6617169Z             },
2026-06-05T02:56:35.6617396Z             {
2026-06-05T02:56:35.6617776Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-05T02:56:35.6618025Z               "line": 268
2026-06-05T02:56:35.6618266Z             }
2026-06-05T02:56:35.6618501Z           ]
2026-06-05T02:56:35.6618745Z         }
2026-06-05T02:56:35.6618979Z       }
2026-06-05T02:56:35.6619255Z     },
2026-06-05T02:56:35.6619495Z     {
2026-06-05T02:56:35.6619790Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-05T02:56:35.6622646Z       "title": "WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)",
2026-06-05T02:56:35.6623072Z       "requiredStages": [
2026-06-05T02:56:35.6623307Z         "doc",
2026-06-05T02:56:35.6623557Z         "impl",
2026-06-05T02:56:35.6623791Z         "unit"
2026-06-05T02:56:35.6624030Z       ],
2026-06-05T02:56:35.6624267Z       "stages": {
2026-06-05T02:56:35.6624513Z         "doc": {
2026-06-05T02:56:35.6624782Z           "complete": true,
2026-06-05T02:56:35.6625030Z           "evidence": [
2026-06-05T02:56:35.6625270Z             {
2026-06-05T02:56:35.6625574Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-05T02:56:35.6625832Z               "line": 266
2026-06-05T02:56:35.6626062Z             }
2026-06-05T02:56:35.6626304Z           ]
2026-06-05T02:56:35.6626541Z         },
2026-06-05T02:56:35.6626795Z         "impl": {
2026-06-05T02:56:35.6627057Z           "complete": true,
2026-06-05T02:56:35.6627314Z           "evidence": [
2026-06-05T02:56:35.6627556Z             {
2026-06-05T02:56:35.6627893Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-05T02:56:35.6628152Z               "line": 85
2026-06-05T02:56:35.6628388Z             },
2026-06-05T02:56:35.6628618Z             {
2026-06-05T02:56:35.6628966Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-05T02:56:35.6629260Z               "line": 99
2026-06-05T02:56:35.6629506Z             },
2026-06-05T02:56:35.6629735Z             {
2026-06-05T02:56:35.6630098Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T02:56:35.6630351Z               "line": 54
2026-06-05T02:56:35.6630592Z             },
2026-06-05T02:56:35.6630830Z             {
2026-06-05T02:56:35.6631178Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T02:56:35.6636294Z               "line": 89
2026-06-05T02:56:35.6636688Z             },
2026-06-05T02:56:35.6636959Z             {
2026-06-05T02:56:35.6637373Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-05T02:56:35.6637627Z               "line": 29
2026-06-05T02:56:35.6637875Z             },
2026-06-05T02:56:35.6638111Z             {
2026-06-05T02:56:35.6638476Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-05T02:56:35.6638718Z               "line": 75
2026-06-05T02:56:35.6638959Z             },
2026-06-05T02:56:35.6639267Z             {
2026-06-05T02:56:35.6639651Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T02:56:35.6639912Z               "line": 121
2026-06-05T02:56:35.6640149Z             },
2026-06-05T02:56:35.6640394Z             {
2026-06-05T02:56:35.6640735Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-05T02:56:35.6640990Z               "line": 28
2026-06-05T02:56:35.6641228Z             },
2026-06-05T02:56:35.6641459Z             {
2026-06-05T02:56:35.6641826Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-05T02:56:35.6642074Z               "line": 74
2026-06-05T02:56:35.6642323Z             },
2026-06-05T02:56:35.6642551Z             {
2026-06-05T02:56:35.6642897Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T02:56:35.6643182Z               "line": 40
2026-06-05T02:56:35.6643438Z             },
2026-06-05T02:56:35.6643843Z             {
2026-06-05T02:56:35.6644341Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T02:56:35.6644794Z               "line": 161
2026-06-05T02:56:35.6645092Z             },
2026-06-05T02:56:35.6645372Z             {
2026-06-05T02:56:35.6645782Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-05T02:56:35.6646207Z               "line": 70
2026-06-05T02:56:35.6646451Z             },
2026-06-05T02:56:35.6646682Z             {
2026-06-05T02:56:35.6647020Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-05T02:56:35.6647278Z               "line": 210
2026-06-05T02:56:35.6647838Z             },
2026-06-05T02:56:35.6648082Z             {
2026-06-05T02:56:35.6648560Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-05T02:56:35.6648821Z               "line": 37
2026-06-05T02:56:35.6649056Z             },
2026-06-05T02:56:35.6649349Z             {
2026-06-05T02:56:35.6649715Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-05T02:56:35.6649963Z               "line": 38
2026-06-05T02:56:35.6650210Z             },
2026-06-05T02:56:35.6650441Z             {
2026-06-05T02:56:35.6650794Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-05T02:56:35.6651040Z               "line": 36
2026-06-05T02:56:35.6651283Z             },
2026-06-05T02:56:35.6651524Z             {
2026-06-05T02:56:35.6651857Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-05T02:56:35.6652116Z               "line": 40
2026-06-05T02:56:35.6652350Z             }
2026-06-05T02:56:35.6652591Z           ]
2026-06-05T02:56:35.6652834Z         },
2026-06-05T02:56:35.6653080Z         "int": {
2026-06-05T02:56:35.6653351Z           "complete": false,
2026-06-05T02:56:35.6653611Z           "evidence": []
2026-06-05T02:56:35.6653847Z         },
2026-06-05T02:56:35.6654083Z         "unit": {
2026-06-05T02:56:35.6654351Z           "complete": true,
2026-06-05T02:56:35.6654598Z           "evidence": [
2026-06-05T02:56:35.6654837Z             {
2026-06-05T02:56:35.6655195Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T02:56:35.6655446Z               "line": 179
2026-06-05T02:56:35.6655689Z             },
2026-06-05T02:56:35.6655926Z             {
2026-06-05T02:56:35.6656299Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-05T02:56:35.6656548Z               "line": 117
2026-06-05T02:56:35.6656793Z             },
2026-06-05T02:56:35.6657033Z             {
2026-06-05T02:56:35.6657398Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-05T02:56:35.6657660Z               "line": 344
2026-06-05T02:56:35.6657904Z             },
2026-06-05T02:56:35.6658150Z             {
2026-06-05T02:56:35.6658494Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-05T02:56:35.6658755Z               "line": 204
2026-06-05T02:56:35.6658995Z             },
2026-06-05T02:56:35.6659273Z             {
2026-06-05T02:56:35.6659632Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-05T02:56:35.6659890Z               "line": 147
2026-06-05T02:56:35.6660135Z             },
2026-06-05T02:56:35.6660370Z             {
2026-06-05T02:56:35.6660724Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-05T02:56:35.6660985Z               "line": 106
2026-06-05T02:56:35.6661214Z             },
2026-06-05T02:56:35.6661454Z             {
2026-06-05T02:56:35.6661787Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-05T02:56:35.6662048Z               "line": 142
2026-06-05T02:56:35.6662280Z             },
2026-06-05T02:56:35.6662522Z             {
2026-06-05T02:56:35.6662886Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-05T02:56:35.6663136Z               "line": 139
2026-06-05T02:56:35.6663382Z             },
2026-06-05T02:56:35.6663614Z             {
2026-06-05T02:56:35.6663963Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-05T02:56:35.6664222Z               "line": 126
2026-06-05T02:56:35.6664461Z             },
2026-06-05T02:56:35.6664700Z             {
2026-06-05T02:56:35.6665028Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-05T02:56:35.6665286Z               "line": 135
2026-06-05T02:56:35.6665521Z             }
2026-06-05T02:56:35.6665763Z           ]
2026-06-05T02:56:35.6666002Z         }
2026-06-05T02:56:35.6666229Z       }
2026-06-05T02:56:35.6666466Z     },
2026-06-05T02:56:35.6666694Z     {
2026-06-05T02:56:35.6667022Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-05T02:56:35.6667491Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-05T02:56:35.6667763Z       "requiredStages": [
2026-06-05T02:56:35.6668183Z         "impl",
2026-06-05T02:56:35.6668423Z         "unit"
2026-06-05T02:56:35.6668819Z       ],
2026-06-05T02:56:35.6669072Z       "stages": {
2026-06-05T02:56:35.6669365Z         "doc": {
2026-06-05T02:56:35.6669638Z           "complete": false,
2026-06-05T02:56:35.6669911Z           "evidence": []
2026-06-05T02:56:35.6670151Z         },
2026-06-05T02:56:35.6670391Z         "impl": {
2026-06-05T02:56:35.6670653Z           "complete": true,
2026-06-05T02:56:35.6670909Z           "evidence": [
2026-06-05T02:56:35.6671150Z             {
2026-06-05T02:56:35.6671484Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T02:56:35.6671746Z               "line": 95
2026-06-05T02:56:35.6672001Z             },
2026-06-05T02:56:35.6672263Z             {
2026-06-05T02:56:35.6672940Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.6673386Z               "line": 99
2026-06-05T02:56:35.6673682Z             }
2026-06-05T02:56:35.6673948Z           ]
2026-06-05T02:56:35.6674360Z         },
2026-06-05T02:56:35.6674606Z         "int": {
2026-06-05T02:56:35.6674884Z           "complete": false,
2026-06-05T02:56:35.6675142Z           "evidence": []
2026-06-05T02:56:35.6675368Z         },
2026-06-05T02:56:35.6675616Z         "unit": {
2026-06-05T02:56:35.6675881Z           "complete": true,
2026-06-05T02:56:35.6676139Z           "evidence": [
2026-06-05T02:56:35.6676385Z             {
2026-06-05T02:56:35.6676720Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T02:56:35.6676981Z               "line": 250
2026-06-05T02:56:35.6677222Z             },
2026-06-05T02:56:35.6677464Z             {
2026-06-05T02:56:35.6677797Z               "path": "crates/spt-store/src/proc.rs",
2026-06-05T02:56:35.6678057Z               "line": 191
2026-06-05T02:56:35.6678309Z             },
2026-06-05T02:56:35.6678543Z             {
2026-06-05T02:56:35.6678881Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.6679131Z               "line": 432
2026-06-05T02:56:35.6679438Z             },
2026-06-05T02:56:35.6679672Z             {
2026-06-05T02:56:35.6680041Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.6680303Z               "line": 462
2026-06-05T02:56:35.6680533Z             }
2026-06-05T02:56:35.6680774Z           ]
2026-06-05T02:56:35.6681008Z         }
2026-06-05T02:56:35.6681250Z       }
2026-06-05T02:56:35.6681480Z     },
2026-06-05T02:56:35.6681720Z     {
2026-06-05T02:56:35.6682021Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-05T02:56:35.6682570Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-05T02:56:35.6688283Z       "requiredStages": [
2026-06-05T02:56:35.6688730Z         "impl",
2026-06-05T02:56:35.6688987Z         "unit"
2026-06-05T02:56:35.6689280Z       ],
2026-06-05T02:56:35.6689542Z       "stages": {
2026-06-05T02:56:35.6689793Z         "doc": {
2026-06-05T02:56:35.6690054Z           "complete": false,
2026-06-05T02:56:35.6690310Z           "evidence": []
2026-06-05T02:56:35.6690577Z         },
2026-06-05T02:56:35.6690822Z         "impl": {
2026-06-05T02:56:35.6691091Z           "complete": true,
2026-06-05T02:56:35.6691343Z           "evidence": [
2026-06-05T02:56:35.6691590Z             {
2026-06-05T02:56:35.6691934Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6692190Z               "line": 230
2026-06-05T02:56:35.6692427Z             },
2026-06-05T02:56:35.6692667Z             {
2026-06-05T02:56:35.6692990Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6693247Z               "line": 275
2026-06-05T02:56:35.6693492Z             },
2026-06-05T02:56:35.6693716Z             {
2026-06-05T02:56:35.6694046Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6694293Z               "line": 287
2026-06-05T02:56:35.6694537Z             }
2026-06-05T02:56:35.6694764Z           ]
2026-06-05T02:56:35.6695003Z         },
2026-06-05T02:56:35.6695247Z         "int": {
2026-06-05T02:56:35.6695829Z           "complete": false,
2026-06-05T02:56:35.6696092Z           "evidence": []
2026-06-05T02:56:35.6696451Z         },
2026-06-05T02:56:35.6696703Z         "unit": {
2026-06-05T02:56:35.6696958Z           "complete": true,
2026-06-05T02:56:35.6697214Z           "evidence": [
2026-06-05T02:56:35.6697449Z             {
2026-06-05T02:56:35.6697781Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6698038Z               "line": 423
2026-06-05T02:56:35.6698268Z             },
2026-06-05T02:56:35.6698505Z             {
2026-06-05T02:56:35.6698833Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.6699088Z               "line": 452
2026-06-05T02:56:35.6699378Z             }
2026-06-05T02:56:35.6699618Z           ]
2026-06-05T02:56:35.6699860Z         }
2026-06-05T02:56:35.6700084Z       }
2026-06-05T02:56:35.6700320Z     },
2026-06-05T02:56:35.6700540Z     {
2026-06-05T02:56:35.6700806Z       "id": "REQ-INFRA-1",
2026-06-05T02:56:35.6701332Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-05T02:56:35.6701600Z       "requiredStages": [],
2026-06-05T02:56:35.6701850Z       "stages": {
2026-06-05T02:56:35.6702085Z         "doc": {
2026-06-05T02:56:35.6702356Z           "complete": false,
2026-06-05T02:56:35.6702627Z           "evidence": []
2026-06-05T02:56:35.6703183Z         },
2026-06-05T02:56:35.6703449Z         "impl": {
2026-06-05T02:56:35.6703898Z           "complete": false,
2026-06-05T02:56:35.6704207Z           "evidence": []
2026-06-05T02:56:35.6704508Z         },
2026-06-05T02:56:35.6704859Z         "int": {
2026-06-05T02:56:35.6705199Z           "complete": false,
2026-06-05T02:56:35.6705558Z           "evidence": []
2026-06-05T02:56:35.6705865Z         },
2026-06-05T02:56:35.6706152Z         "unit": {
2026-06-05T02:56:35.6706466Z           "complete": false,
2026-06-05T02:56:35.6706746Z           "evidence": []
2026-06-05T02:56:35.6707033Z         }
2026-06-05T02:56:35.6707293Z       }
2026-06-05T02:56:35.6707578Z     },
2026-06-05T02:56:35.6708174Z     {
2026-06-05T02:56:35.6708553Z       "id": "REQ-INST-1",
2026-06-05T02:56:35.6709118Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-05T02:56:35.6709506Z       "requiredStages": [],
2026-06-05T02:56:35.6709824Z       "stages": {
2026-06-05T02:56:35.6710126Z         "doc": {
2026-06-05T02:56:35.6710456Z           "complete": false,
2026-06-05T02:56:35.6710757Z           "evidence": []
2026-06-05T02:56:35.6710998Z         },
2026-06-05T02:56:35.6711252Z         "impl": {
2026-06-05T02:56:35.6711520Z           "complete": false,
2026-06-05T02:56:35.6711787Z           "evidence": []
2026-06-05T02:56:35.6712023Z         },
2026-06-05T02:56:35.6712283Z         "int": {
2026-06-05T02:56:35.6712559Z           "complete": false,
2026-06-05T02:56:35.6712815Z           "evidence": []
2026-06-05T02:56:35.6713224Z         },
2026-06-05T02:56:35.6713488Z         "unit": {
2026-06-05T02:56:35.6713773Z           "complete": false,
2026-06-05T02:56:35.6714047Z           "evidence": []
2026-06-05T02:56:35.6714301Z         }
2026-06-05T02:56:35.6714553Z       }
2026-06-05T02:56:35.6714788Z     },
2026-06-05T02:56:35.6715031Z     {
2026-06-05T02:56:35.6715294Z       "id": "REQ-INST-10",
2026-06-05T02:56:35.6715948Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-05T02:56:35.6716217Z       "requiredStages": [
2026-06-05T02:56:35.6716475Z         "impl",
2026-06-05T02:56:35.6716728Z         "unit"
2026-06-05T02:56:35.6716961Z       ],
2026-06-05T02:56:35.6717250Z       "stages": {
2026-06-05T02:56:35.6717499Z         "doc": {
2026-06-05T02:56:35.6717771Z           "complete": false,
2026-06-05T02:56:35.6718029Z           "evidence": []
2026-06-05T02:56:35.6718283Z         },
2026-06-05T02:56:35.6718538Z         "impl": {
2026-06-05T02:56:35.6718808Z           "complete": true,
2026-06-05T02:56:35.6719075Z           "evidence": [
2026-06-05T02:56:35.6719380Z             {
2026-06-05T02:56:35.6720143Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6720405Z               "line": 426
2026-06-05T02:56:35.6720980Z             },
2026-06-05T02:56:35.6721226Z             {
2026-06-05T02:56:35.6721582Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6721843Z               "line": 481
2026-06-05T02:56:35.6722079Z             },
2026-06-05T02:56:35.6722324Z             {
2026-06-05T02:56:35.6722662Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-05T02:56:35.6722920Z               "line": 13
2026-06-05T02:56:35.6723166Z             },
2026-06-05T02:56:35.6723397Z             {
2026-06-05T02:56:35.6723733Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-05T02:56:35.6723984Z               "line": 67
2026-06-05T02:56:35.6724231Z             },
2026-06-05T02:56:35.6724463Z             {
2026-06-05T02:56:35.6724797Z               "path": "crates/spt/src/wansend.rs",
2026-06-05T02:56:35.6725062Z               "line": 18
2026-06-05T02:56:35.6725313Z             }
2026-06-05T02:56:35.6725558Z           ]
2026-06-05T02:56:35.6725789Z         },
2026-06-05T02:56:35.6726047Z         "int": {
2026-06-05T02:56:35.6726309Z           "complete": false,
2026-06-05T02:56:35.6726567Z           "evidence": []
2026-06-05T02:56:35.6726812Z         },
2026-06-05T02:56:35.6727050Z         "unit": {
2026-06-05T02:56:35.6727317Z           "complete": true,
2026-06-05T02:56:35.6727561Z           "evidence": [
2026-06-05T02:56:35.6727807Z             {
2026-06-05T02:56:35.6728161Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6728424Z               "line": 625
2026-06-05T02:56:35.6728669Z             },
2026-06-05T02:56:35.6728898Z             {
2026-06-05T02:56:35.6729333Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6729612Z               "line": 759
2026-06-05T02:56:35.6729867Z             },
2026-06-05T02:56:35.6730107Z             {
2026-06-05T02:56:35.6730467Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6730742Z               "line": 767
2026-06-05T02:56:35.6730988Z             },
2026-06-05T02:56:35.6731239Z             {
2026-06-05T02:56:35.6731592Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6731855Z               "line": 780
2026-06-05T02:56:35.6732091Z             },
2026-06-05T02:56:35.6732341Z             {
2026-06-05T02:56:35.6732708Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6732964Z               "line": 793
2026-06-05T02:56:35.6733213Z             },
2026-06-05T02:56:35.6733446Z             {
2026-06-05T02:56:35.6733812Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6734072Z               "line": 809
2026-06-05T02:56:35.6734318Z             },
2026-06-05T02:56:35.6734560Z             {
2026-06-05T02:56:35.6734925Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6741407Z               "line": 1038
2026-06-05T02:56:35.6742005Z             },
2026-06-05T02:56:35.6742276Z             {
2026-06-05T02:56:35.6742685Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-05T02:56:35.6742985Z               "line": 121
2026-06-05T02:56:35.6743264Z             },
2026-06-05T02:56:35.6743517Z             {
2026-06-05T02:56:35.6743941Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-05T02:56:35.6744225Z               "line": 142
2026-06-05T02:56:35.6744476Z             },
2026-06-05T02:56:35.6744728Z             {
2026-06-05T02:56:35.6745077Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-05T02:56:35.6745345Z               "line": 150
2026-06-05T02:56:35.6745592Z             },
2026-06-05T02:56:35.6745826Z             {
2026-06-05T02:56:35.6746176Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-05T02:56:35.6746427Z               "line": 158
2026-06-05T02:56:35.6746671Z             }
2026-06-05T02:56:35.6746907Z           ]
2026-06-05T02:56:35.6747147Z         }
2026-06-05T02:56:35.6747616Z       }
2026-06-05T02:56:35.6747849Z     },
2026-06-05T02:56:35.6748082Z     {
2026-06-05T02:56:35.6748488Z       "id": "REQ-INST-11",
2026-06-05T02:56:35.6749245Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-05T02:56:35.6749527Z       "requiredStages": [
2026-06-05T02:56:35.6749917Z         "impl",
2026-06-05T02:56:35.6750165Z         "unit"
2026-06-05T02:56:35.6750390Z       ],
2026-06-05T02:56:35.6750631Z       "stages": {
2026-06-05T02:56:35.6750862Z         "doc": {
2026-06-05T02:56:35.6751126Z           "complete": false,
2026-06-05T02:56:35.6751371Z           "evidence": []
2026-06-05T02:56:35.6751607Z         },
2026-06-05T02:56:35.6751857Z         "impl": {
2026-06-05T02:56:35.6752111Z           "complete": true,
2026-06-05T02:56:35.6752367Z           "evidence": [
2026-06-05T02:56:35.6752593Z             {
2026-06-05T02:56:35.6752949Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6753202Z               "line": 328
2026-06-05T02:56:35.6753446Z             },
2026-06-05T02:56:35.6753681Z             {
2026-06-05T02:56:35.6754048Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.6754303Z               "line": 252
2026-06-05T02:56:35.6754527Z             },
2026-06-05T02:56:35.6754761Z             {
2026-06-05T02:56:35.6755086Z               "path": "crates/spt-store/src/rename.rs",
2026-06-05T02:56:35.6755337Z               "line": 59
2026-06-05T02:56:35.6755574Z             },
2026-06-05T02:56:35.6755797Z             {
2026-06-05T02:56:35.6756098Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.6756345Z               "line": 1455
2026-06-05T02:56:35.6756578Z             },
2026-06-05T02:56:35.6756804Z             {
2026-06-05T02:56:35.6757110Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.6757365Z               "line": 2424
2026-06-05T02:56:35.6757592Z             }
2026-06-05T02:56:35.6757824Z           ]
2026-06-05T02:56:35.6758056Z         },
2026-06-05T02:56:35.6758290Z         "int": {
2026-06-05T02:56:35.6758543Z           "complete": false,
2026-06-05T02:56:35.6758803Z           "evidence": []
2026-06-05T02:56:35.6759036Z         },
2026-06-05T02:56:35.6759305Z         "unit": {
2026-06-05T02:56:35.6759771Z           "complete": true,
2026-06-05T02:56:35.6760206Z           "evidence": [
2026-06-05T02:56:35.6760440Z             {
2026-06-05T02:56:35.6760784Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6761037Z               "line": 902
2026-06-05T02:56:35.6761279Z             },
2026-06-05T02:56:35.6761507Z             {
2026-06-05T02:56:35.6761861Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6762100Z               "line": 925
2026-06-05T02:56:35.6762338Z             },
2026-06-05T02:56:35.6762565Z             {
2026-06-05T02:56:35.6762932Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.6763186Z               "line": 471
2026-06-05T02:56:35.6763425Z             },
2026-06-05T02:56:35.6763663Z             {
2026-06-05T02:56:35.6764000Z               "path": "crates/spt-store/src/rename.rs",
2026-06-05T02:56:35.6764259Z               "line": 156
2026-06-05T02:56:35.6764486Z             },
2026-06-05T02:56:35.6764721Z             {
2026-06-05T02:56:35.6765058Z               "path": "crates/spt-store/src/rename.rs",
2026-06-05T02:56:35.6765302Z               "line": 177
2026-06-05T02:56:35.6765538Z             },
2026-06-05T02:56:35.6765759Z             {
2026-06-05T02:56:35.6766094Z               "path": "crates/spt-store/src/rename.rs",
2026-06-05T02:56:35.6766339Z               "line": 209
2026-06-05T02:56:35.6766580Z             },
2026-06-05T02:56:35.6766817Z             {
2026-06-05T02:56:35.6767113Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.6767365Z               "line": 2517
2026-06-05T02:56:35.6767588Z             }
2026-06-05T02:56:35.6767819Z           ]
2026-06-05T02:56:35.6768043Z         }
2026-06-05T02:56:35.6768451Z       }
2026-06-05T02:56:35.6768687Z     },
2026-06-05T02:56:35.6768906Z     {
2026-06-05T02:56:35.6769514Z       "id": "REQ-INST-12",
2026-06-05T02:56:35.6770580Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-05T02:56:35.6770856Z       "requiredStages": [
2026-06-05T02:56:35.6771086Z         "impl",
2026-06-05T02:56:35.6771330Z         "unit"
2026-06-05T02:56:35.6771568Z       ],
2026-06-05T02:56:35.6771802Z       "stages": {
2026-06-05T02:56:35.6772037Z         "doc": {
2026-06-05T02:56:35.6772289Z           "complete": false,
2026-06-05T02:56:35.6772544Z           "evidence": []
2026-06-05T02:56:35.6772765Z         },
2026-06-05T02:56:35.6773010Z         "impl": {
2026-06-05T02:56:35.6773271Z           "complete": true,
2026-06-05T02:56:35.6773516Z           "evidence": [
2026-06-05T02:56:35.6773751Z             {
2026-06-05T02:56:35.6774106Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6774373Z               "line": 380
2026-06-05T02:56:35.6774603Z             },
2026-06-05T02:56:35.6774844Z             {
2026-06-05T02:56:35.6775199Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6775447Z               "line": 437
2026-06-05T02:56:35.6775685Z             },
2026-06-05T02:56:35.6775910Z             {
2026-06-05T02:56:35.6776278Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6776525Z               "line": 495
2026-06-05T02:56:35.6776749Z             },
2026-06-05T02:56:35.6776986Z             {
2026-06-05T02:56:35.6777312Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T02:56:35.6777559Z               "line": 87
2026-06-05T02:56:35.6777783Z             },
2026-06-05T02:56:35.6778012Z             {
2026-06-05T02:56:35.6778347Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T02:56:35.6778589Z               "line": 216
2026-06-05T02:56:35.6778820Z             },
2026-06-05T02:56:35.6779054Z             {
2026-06-05T02:56:35.6779642Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-05T02:56:35.6779909Z               "line": 132
2026-06-05T02:56:35.6780304Z             }
2026-06-05T02:56:35.6780539Z           ]
2026-06-05T02:56:35.6780767Z         },
2026-06-05T02:56:35.6781004Z         "int": {
2026-06-05T02:56:35.6781259Z           "complete": false,
2026-06-05T02:56:35.6781512Z           "evidence": []
2026-06-05T02:56:35.6781738Z         },
2026-06-05T02:56:35.6781976Z         "unit": {
2026-06-05T02:56:35.6782238Z           "complete": true,
2026-06-05T02:56:35.6782479Z           "evidence": [
2026-06-05T02:56:35.6782709Z             {
2026-06-05T02:56:35.6783059Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6783306Z               "line": 960
2026-06-05T02:56:35.6783530Z             },
2026-06-05T02:56:35.6783767Z             {
2026-06-05T02:56:35.6784123Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6784375Z               "line": 977
2026-06-05T02:56:35.6784613Z             },
2026-06-05T02:56:35.6784845Z             {
2026-06-05T02:56:35.6785201Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6785448Z               "line": 1008
2026-06-05T02:56:35.6785684Z             },
2026-06-05T02:56:35.6785924Z             {
2026-06-05T02:56:35.6786250Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T02:56:35.6792386Z               "line": 350
2026-06-05T02:56:35.6792780Z             },
2026-06-05T02:56:35.6793170Z             {
2026-06-05T02:56:35.6793543Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-05T02:56:35.6793801Z               "line": 169
2026-06-05T02:56:35.6794036Z             },
2026-06-05T02:56:35.6794260Z             {
2026-06-05T02:56:35.6794615Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-05T02:56:35.6794856Z               "line": 181
2026-06-05T02:56:35.6795096Z             },
2026-06-05T02:56:35.6795600Z             {
2026-06-05T02:56:35.6795964Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-05T02:56:35.6796488Z               "line": 198
2026-06-05T02:56:35.6796719Z             }
2026-06-05T02:56:35.6796956Z           ]
2026-06-05T02:56:35.6797181Z         }
2026-06-05T02:56:35.6797410Z       }
2026-06-05T02:56:35.6797629Z     },
2026-06-05T02:56:35.6797859Z     {
2026-06-05T02:56:35.6798114Z       "id": "REQ-INST-13",
2026-06-05T02:56:35.6798659Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-05T02:56:35.6798924Z       "requiredStages": [
2026-06-05T02:56:35.6799212Z         "impl",
2026-06-05T02:56:35.6799771Z         "unit"
2026-06-05T02:56:35.6799999Z       ],
2026-06-05T02:56:35.6800248Z       "stages": {
2026-06-05T02:56:35.6800488Z         "doc": {
2026-06-05T02:56:35.6800747Z           "complete": false,
2026-06-05T02:56:35.6801007Z           "evidence": []
2026-06-05T02:56:35.6801234Z         },
2026-06-05T02:56:35.6801493Z         "impl": {
2026-06-05T02:56:35.6801740Z           "complete": true,
2026-06-05T02:56:35.6801997Z           "evidence": [
2026-06-05T02:56:35.6802230Z             {
2026-06-05T02:56:35.6802559Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T02:56:35.6802808Z               "line": 94
2026-06-05T02:56:35.6803033Z             },
2026-06-05T02:56:35.6803269Z             {
2026-06-05T02:56:35.6803616Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-05T02:56:35.6803867Z               "line": 155
2026-06-05T02:56:35.6804105Z             }
2026-06-05T02:56:35.6804331Z           ]
2026-06-05T02:56:35.6804564Z         },
2026-06-05T02:56:35.6804792Z         "int": {
2026-06-05T02:56:35.6805057Z           "complete": false,
2026-06-05T02:56:35.6805304Z           "evidence": []
2026-06-05T02:56:35.6805538Z         },
2026-06-05T02:56:35.6805772Z         "unit": {
2026-06-05T02:56:35.6806023Z           "complete": true,
2026-06-05T02:56:35.6806274Z           "evidence": [
2026-06-05T02:56:35.6806507Z             {
2026-06-05T02:56:35.6806871Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-05T02:56:35.6807119Z               "line": 221
2026-06-05T02:56:35.6807353Z             },
2026-06-05T02:56:35.6807587Z             {
2026-06-05T02:56:35.6807926Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-05T02:56:35.6808180Z               "line": 233
2026-06-05T02:56:35.6808409Z             }
2026-06-05T02:56:35.6808639Z           ]
2026-06-05T02:56:35.6808864Z         }
2026-06-05T02:56:35.6809094Z       }
2026-06-05T02:56:35.6809369Z     },
2026-06-05T02:56:35.6809601Z     {
2026-06-05T02:56:35.6809857Z       "id": "REQ-INST-14",
2026-06-05T02:56:35.6811041Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-05T02:56:35.6811304Z       "requiredStages": [
2026-06-05T02:56:35.6811544Z         "doc",
2026-06-05T02:56:35.6811777Z         "impl",
2026-06-05T02:56:35.6812027Z         "unit"
2026-06-05T02:56:35.6812250Z       ],
2026-06-05T02:56:35.6812501Z       "stages": {
2026-06-05T02:56:35.6812729Z         "doc": {
2026-06-05T02:56:35.6812992Z           "complete": true,
2026-06-05T02:56:35.6813229Z           "evidence": [
2026-06-05T02:56:35.6813463Z             {
2026-06-05T02:56:35.6813741Z               "path": "docs/STORAGE.md",
2026-06-05T02:56:35.6813980Z               "line": 49
2026-06-05T02:56:35.6814215Z             }
2026-06-05T02:56:35.6814442Z           ]
2026-06-05T02:56:35.6814675Z         },
2026-06-05T02:56:35.6814913Z         "impl": {
2026-06-05T02:56:35.6815174Z           "complete": true,
2026-06-05T02:56:35.6815425Z           "evidence": [
2026-06-05T02:56:35.6815646Z             {
2026-06-05T02:56:35.6816022Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T02:56:35.6816264Z               "line": 242
2026-06-05T02:56:35.6816499Z             },
2026-06-05T02:56:35.6816725Z             {
2026-06-05T02:56:35.6817248Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6817623Z               "line": 195
2026-06-05T02:56:35.6817854Z             },
2026-06-05T02:56:35.6818083Z             {
2026-06-05T02:56:35.6818402Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T02:56:35.6818652Z               "line": 202
2026-06-05T02:56:35.6818884Z             },
2026-06-05T02:56:35.6819109Z             {
2026-06-05T02:56:35.6819461Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.6819710Z               "line": 694
2026-06-05T02:56:35.6819955Z             }
2026-06-05T02:56:35.6820177Z           ]
2026-06-05T02:56:35.6820416Z         },
2026-06-05T02:56:35.6820651Z         "int": {
2026-06-05T02:56:35.6820905Z           "complete": false,
2026-06-05T02:56:35.6821158Z           "evidence": []
2026-06-05T02:56:35.6821383Z         },
2026-06-05T02:56:35.6821618Z         "unit": {
2026-06-05T02:56:35.6821874Z           "complete": true,
2026-06-05T02:56:35.6822140Z           "evidence": [
2026-06-05T02:56:35.6822378Z             {
2026-06-05T02:56:35.6822760Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T02:56:35.6823012Z               "line": 399
2026-06-05T02:56:35.6823242Z             },
2026-06-05T02:56:35.6823478Z             {
2026-06-05T02:56:35.6823818Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6824079Z               "line": 634
2026-06-05T02:56:35.6824312Z             },
2026-06-05T02:56:35.6824535Z             {
2026-06-05T02:56:35.6824886Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6825128Z               "line": 711
2026-06-05T02:56:35.6825364Z             },
2026-06-05T02:56:35.6825588Z             {
2026-06-05T02:56:35.6825915Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T02:56:35.6826167Z               "line": 411
2026-06-05T02:56:35.6826480Z             },
2026-06-05T02:56:35.6826716Z             {
2026-06-05T02:56:35.6827020Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.6827273Z               "line": 2533
2026-06-05T02:56:35.6827509Z             }
2026-06-05T02:56:35.6827749Z           ]
2026-06-05T02:56:35.6827981Z         }
2026-06-05T02:56:35.6828202Z       }
2026-06-05T02:56:35.6828429Z     },
2026-06-05T02:56:35.6828647Z     {
2026-06-05T02:56:35.6828906Z       "id": "REQ-INST-15",
2026-06-05T02:56:35.6831172Z       "title": "Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)",
2026-06-05T02:56:35.6831445Z       "requiredStages": [
2026-06-05T02:56:35.6831685Z         "doc",
2026-06-05T02:56:35.6831914Z         "impl",
2026-06-05T02:56:35.6832153Z         "unit"
2026-06-05T02:56:35.6832376Z       ],
2026-06-05T02:56:35.6832621Z       "stages": {
2026-06-05T02:56:35.6832860Z         "doc": {
2026-06-05T02:56:35.6833129Z           "complete": true,
2026-06-05T02:56:35.6833388Z           "evidence": [
2026-06-05T02:56:35.6833624Z             {
2026-06-05T02:56:35.6834137Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-05T02:56:35.6834376Z               "line": 3
2026-06-05T02:56:35.6834616Z             }
2026-06-05T02:56:35.6834849Z           ]
2026-06-05T02:56:35.6835071Z         },
2026-06-05T02:56:35.6835319Z         "impl": {
2026-06-05T02:56:35.6835584Z           "complete": true,
2026-06-05T02:56:35.6835841Z           "evidence": [
2026-06-05T02:56:35.6836068Z             {
2026-06-05T02:56:35.6836441Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T02:56:35.6836698Z               "line": 206
2026-06-05T02:56:35.6836925Z             },
2026-06-05T02:56:35.6837161Z             {
2026-06-05T02:56:35.6837477Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T02:56:35.6837727Z               "line": 60
2026-06-05T02:56:35.6838120Z             },
2026-06-05T02:56:35.6843231Z             {
2026-06-05T02:56:35.6843777Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.6844324Z               "line": 326
2026-06-05T02:56:35.6844568Z             },
2026-06-05T02:56:35.6844796Z             {
2026-06-05T02:56:35.6845167Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.6845415Z               "line": 376
2026-06-05T02:56:35.6845662Z             },
2026-06-05T02:56:35.6845892Z             {
2026-06-05T02:56:35.6846206Z               "path": "crates/spt-store/src/home.rs",
2026-06-05T02:56:35.6846458Z               "line": 19
2026-06-05T02:56:35.6846681Z             },
2026-06-05T02:56:35.6846921Z             {
2026-06-05T02:56:35.6847241Z               "path": "crates/spt-store/src/home.rs",
2026-06-05T02:56:35.6847496Z               "line": 67
2026-06-05T02:56:35.6847740Z             },
2026-06-05T02:56:35.6847966Z             {
2026-06-05T02:56:35.6848307Z               "path": "crates/spt-store/src/home.rs",
2026-06-05T02:56:35.6848551Z               "line": 91
2026-06-05T02:56:35.6848799Z             },
2026-06-05T02:56:35.6849026Z             {
2026-06-05T02:56:35.6849420Z               "path": "crates/spt-store/src/home.rs",
2026-06-05T02:56:35.6849677Z               "line": 116
2026-06-05T02:56:35.6849904Z             },
2026-06-05T02:56:35.6850137Z             {
2026-06-05T02:56:35.6850449Z               "path": "crates/spt-store/src/home.rs",
2026-06-05T02:56:35.6850700Z               "line": 167
2026-06-05T02:56:35.6850933Z             },
2026-06-05T02:56:35.6851177Z             {
2026-06-05T02:56:35.6851508Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.6851753Z               "line": 141
2026-06-05T02:56:35.6851990Z             },
2026-06-05T02:56:35.6852214Z             {
2026-06-05T02:56:35.6852516Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.6852756Z               "line": 586
2026-06-05T02:56:35.6853003Z             }
2026-06-05T02:56:35.6853237Z           ]
2026-06-05T02:56:35.6853463Z         },
2026-06-05T02:56:35.6853711Z         "int": {
2026-06-05T02:56:35.6853966Z           "complete": false,
2026-06-05T02:56:35.6854219Z           "evidence": []
2026-06-05T02:56:35.6854448Z         },
2026-06-05T02:56:35.6854687Z         "unit": {
2026-06-05T02:56:35.6854948Z           "complete": true,
2026-06-05T02:56:35.6855190Z           "evidence": [
2026-06-05T02:56:35.6855425Z             {
2026-06-05T02:56:35.6855784Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.6856038Z               "line": 515
2026-06-05T02:56:35.6856266Z             },
2026-06-05T02:56:35.6856506Z             {
2026-06-05T02:56:35.6856871Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.6857114Z               "line": 571
2026-06-05T02:56:35.6857349Z             },
2026-06-05T02:56:35.6857573Z             {
2026-06-05T02:56:35.6857896Z               "path": "crates/spt-store/src/home.rs",
2026-06-05T02:56:35.6858155Z               "line": 206
2026-06-05T02:56:35.6858386Z             },
2026-06-05T02:56:35.6858628Z             {
2026-06-05T02:56:35.6858941Z               "path": "crates/spt-store/src/home.rs",
2026-06-05T02:56:35.6859230Z               "line": 239
2026-06-05T02:56:35.6859464Z             },
2026-06-05T02:56:35.6859703Z             {
2026-06-05T02:56:35.6860023Z               "path": "crates/spt-store/src/home.rs",
2026-06-05T02:56:35.6860266Z               "line": 252
2026-06-05T02:56:35.6860503Z             },
2026-06-05T02:56:35.6860727Z             {
2026-06-05T02:56:35.6861048Z               "path": "crates/spt-store/src/home.rs",
2026-06-05T02:56:35.6861291Z               "line": 316
2026-06-05T02:56:35.6861536Z             },
2026-06-05T02:56:35.6861770Z             {
2026-06-05T02:56:35.6862090Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.6862342Z               "line": 477
2026-06-05T02:56:35.6862572Z             },
2026-06-05T02:56:35.6863001Z             {
2026-06-05T02:56:35.6863299Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.6863687Z               "line": 2520
2026-06-05T02:56:35.6863927Z             },
2026-06-05T02:56:35.6864153Z             {
2026-06-05T02:56:35.6864458Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.6864700Z               "line": 3501
2026-06-05T02:56:35.6864939Z             }
2026-06-05T02:56:35.6865167Z           ]
2026-06-05T02:56:35.6865404Z         }
2026-06-05T02:56:35.6865640Z       }
2026-06-05T02:56:35.6865863Z     },
2026-06-05T02:56:35.6866094Z     {
2026-06-05T02:56:35.6866345Z       "id": "REQ-INST-2",
2026-06-05T02:56:35.6866698Z       "title": "Per-node files, synced Psyche mind",
2026-06-05T02:56:35.6866952Z       "requiredStages": [
2026-06-05T02:56:35.6867192Z         "impl",
2026-06-05T02:56:35.6867433Z         "unit"
2026-06-05T02:56:35.6867657Z       ],
2026-06-05T02:56:35.6867900Z       "stages": {
2026-06-05T02:56:35.6868131Z         "doc": {
2026-06-05T02:56:35.6868408Z           "complete": false,
2026-06-05T02:56:35.6868651Z           "evidence": []
2026-06-05T02:56:35.6868898Z         },
2026-06-05T02:56:35.6869139Z         "impl": {
2026-06-05T02:56:35.6869449Z           "complete": true,
2026-06-05T02:56:35.6869699Z           "evidence": [
2026-06-05T02:56:35.6869928Z             {
2026-06-05T02:56:35.6870286Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.6870531Z               "line": 86
2026-06-05T02:56:35.6870772Z             },
2026-06-05T02:56:35.6871009Z             {
2026-06-05T02:56:35.6871334Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T02:56:35.6871584Z               "line": 28
2026-06-05T02:56:35.6871814Z             },
2026-06-05T02:56:35.6872047Z             {
2026-06-05T02:56:35.6872367Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T02:56:35.6872615Z               "line": 74
2026-06-05T02:56:35.6872857Z             },
2026-06-05T02:56:35.6873096Z             {
2026-06-05T02:56:35.6873422Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T02:56:35.6873671Z               "line": 96
2026-06-05T02:56:35.6873912Z             },
2026-06-05T02:56:35.6874137Z             {
2026-06-05T02:56:35.6874459Z               "path": "crates/spt-live/src/resume.rs",
2026-06-05T02:56:35.6874709Z               "line": 81
2026-06-05T02:56:35.6874932Z             },
2026-06-05T02:56:35.6875168Z             {
2026-06-05T02:56:35.6875488Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-05T02:56:35.6875746Z               "line": 118
2026-06-05T02:56:35.6875971Z             }
2026-06-05T02:56:35.6876213Z           ]
2026-06-05T02:56:35.6876448Z         },
2026-06-05T02:56:35.6876680Z         "int": {
2026-06-05T02:56:35.6876938Z           "complete": false,
2026-06-05T02:56:35.6877181Z           "evidence": []
2026-06-05T02:56:35.6877415Z         },
2026-06-05T02:56:35.6877642Z         "unit": {
2026-06-05T02:56:35.6877896Z           "complete": true,
2026-06-05T02:56:35.6878155Z           "evidence": [
2026-06-05T02:56:35.6878378Z             {
2026-06-05T02:56:35.6878710Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-05T02:56:35.6878952Z               "line": 203
2026-06-05T02:56:35.6879243Z             },
2026-06-05T02:56:35.6879500Z             {
2026-06-05T02:56:35.6879875Z               "path": "crates/spt-live/src/resume.rs",
2026-06-05T02:56:35.6880174Z               "line": 232
2026-06-05T02:56:35.6880758Z             }
2026-06-05T02:56:35.6881018Z           ]
2026-06-05T02:56:35.6881429Z         }
2026-06-05T02:56:35.6881718Z       }
2026-06-05T02:56:35.6881981Z     },
2026-06-05T02:56:35.6882286Z     {
2026-06-05T02:56:35.6882604Z       "id": "REQ-INST-3",
2026-06-05T02:56:35.6883214Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-05T02:56:35.6883508Z       "requiredStages": [
2026-06-05T02:56:35.6884069Z         "doc",
2026-06-05T02:56:35.6884494Z         "impl",
2026-06-05T02:56:35.6885058Z         "unit"
2026-06-05T02:56:35.6885315Z       ],
2026-06-05T02:56:35.6885705Z       "stages": {
2026-06-05T02:56:35.6886129Z         "doc": {
2026-06-05T02:56:35.6886404Z           "complete": true,
2026-06-05T02:56:35.6886647Z           "evidence": [
2026-06-05T02:56:35.6886885Z             {
2026-06-05T02:56:35.6887193Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-05T02:56:35.6887445Z               "line": 3
2026-06-05T02:56:35.6887681Z             }
2026-06-05T02:56:35.6887910Z           ]
2026-06-05T02:56:35.6896505Z         },
2026-06-05T02:56:35.6897035Z         "impl": {
2026-06-05T02:56:35.6897311Z           "complete": true,
2026-06-05T02:56:35.6897629Z           "evidence": [
2026-06-05T02:56:35.6897869Z             {
2026-06-05T02:56:35.6898229Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-05T02:56:35.6898470Z               "line": 70
2026-06-05T02:56:35.6898706Z             },
2026-06-05T02:56:35.6898932Z             {
2026-06-05T02:56:35.6899704Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T02:56:35.6899999Z               "line": 404
2026-06-05T02:56:35.6900251Z             },
2026-06-05T02:56:35.6900487Z             {
2026-06-05T02:56:35.6900840Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.6901098Z               "line": 197
2026-06-05T02:56:35.6901328Z             },
2026-06-05T02:56:35.6901565Z             {
2026-06-05T02:56:35.6901907Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.6902165Z               "line": 272
2026-06-05T02:56:35.6902406Z             },
2026-06-05T02:56:35.6902630Z             {
2026-06-05T02:56:35.6902985Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.6903228Z               "line": 301
2026-06-05T02:56:35.6903466Z             },
2026-06-05T02:56:35.6903691Z             {
2026-06-05T02:56:35.6904040Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-05T02:56:35.6904291Z               "line": 234
2026-06-05T02:56:35.6904529Z             },
2026-06-05T02:56:35.6904769Z             {
2026-06-05T02:56:35.6905143Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T02:56:35.6905400Z               "line": 147
2026-06-05T02:56:35.6905639Z             },
2026-06-05T02:56:35.6905862Z             {
2026-06-05T02:56:35.6906229Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T02:56:35.6906473Z               "line": 228
2026-06-05T02:56:35.6906714Z             },
2026-06-05T02:56:35.6906938Z             {
2026-06-05T02:56:35.6907278Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6907529Z               "line": 45
2026-06-05T02:56:35.6907759Z             },
2026-06-05T02:56:35.6907996Z             {
2026-06-05T02:56:35.6908328Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6908585Z               "line": 114
2026-06-05T02:56:35.6908814Z             },
2026-06-05T02:56:35.6909053Z             {
2026-06-05T02:56:35.6909452Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6909702Z               "line": 152
2026-06-05T02:56:35.6909946Z             },
2026-06-05T02:56:35.6910172Z             {
2026-06-05T02:56:35.6910513Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6910753Z               "line": 168
2026-06-05T02:56:35.6910992Z             },
2026-06-05T02:56:35.6911227Z             {
2026-06-05T02:56:35.6911557Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6911804Z               "line": 178
2026-06-05T02:56:35.6912029Z             },
2026-06-05T02:56:35.6912267Z             {
2026-06-05T02:56:35.6912603Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6912852Z               "line": 210
2026-06-05T02:56:35.6913088Z             },
2026-06-05T02:56:35.6913316Z             {
2026-06-05T02:56:35.6913653Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6914190Z               "line": 283
2026-06-05T02:56:35.6914432Z             },
2026-06-05T02:56:35.6914657Z             {
2026-06-05T02:56:35.6915125Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6915384Z               "line": 307
2026-06-05T02:56:35.6915611Z             },
2026-06-05T02:56:35.6915843Z             {
2026-06-05T02:56:35.6916172Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6916425Z               "line": 378
2026-06-05T02:56:35.6916649Z             },
2026-06-05T02:56:35.6916883Z             {
2026-06-05T02:56:35.6917226Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6917467Z               "line": 427
2026-06-05T02:56:35.6917706Z             },
2026-06-05T02:56:35.6917931Z             {
2026-06-05T02:56:35.6918277Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-05T02:56:35.6918525Z               "line": 37
2026-06-05T02:56:35.6918752Z             },
2026-06-05T02:56:35.6918993Z             {
2026-06-05T02:56:35.6919404Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6919678Z               "line": 62
2026-06-05T02:56:35.6919904Z             },
2026-06-05T02:56:35.6920144Z             {
2026-06-05T02:56:35.6920470Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T02:56:35.6920714Z               "line": 184
2026-06-05T02:56:35.6920950Z             },
2026-06-05T02:56:35.6921174Z             {
2026-06-05T02:56:35.6921474Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.6921717Z               "line": 793
2026-06-05T02:56:35.6921955Z             }
2026-06-05T02:56:35.6922189Z           ]
2026-06-05T02:56:35.6922417Z         },
2026-06-05T02:56:35.6922653Z         "int": {
2026-06-05T02:56:35.6922909Z           "complete": false,
2026-06-05T02:56:35.6923160Z           "evidence": []
2026-06-05T02:56:35.6923385Z         },
2026-06-05T02:56:35.6923627Z         "unit": {
2026-06-05T02:56:35.6923885Z           "complete": true,
2026-06-05T02:56:35.6924134Z           "evidence": [
2026-06-05T02:56:35.6924368Z             {
2026-06-05T02:56:35.6924711Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T02:56:35.6924964Z               "line": 305
2026-06-05T02:56:35.6925190Z             },
2026-06-05T02:56:35.6925429Z             {
2026-06-05T02:56:35.6925782Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.6926025Z               "line": 618
2026-06-05T02:56:35.6926263Z             },
2026-06-05T02:56:35.6926486Z             {
2026-06-05T02:56:35.6926839Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.6927081Z               "line": 669
2026-06-05T02:56:35.6927324Z             },
2026-06-05T02:56:35.6927562Z             {
2026-06-05T02:56:35.6927923Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T02:56:35.6928176Z               "line": 493
2026-06-05T02:56:35.6928404Z             },
2026-06-05T02:56:35.6928643Z             {
2026-06-05T02:56:35.6929007Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T02:56:35.6929309Z               "line": 540
2026-06-05T02:56:35.6929554Z             },
2026-06-05T02:56:35.6929782Z             {
2026-06-05T02:56:35.6930129Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6930375Z               "line": 438
2026-06-05T02:56:35.6930622Z             },
2026-06-05T02:56:35.6930847Z             {
2026-06-05T02:56:35.6931189Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6931445Z               "line": 467
2026-06-05T02:56:35.6931678Z             },
2026-06-05T02:56:35.6931910Z             {
2026-06-05T02:56:35.6932238Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6932518Z               "line": 500
2026-06-05T02:56:35.6932745Z             },
2026-06-05T02:56:35.6932979Z             {
2026-06-05T02:56:35.6933320Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6933724Z               "line": 608
2026-06-05T02:56:35.6933965Z             },
2026-06-05T02:56:35.6934191Z             {
2026-06-05T02:56:35.6934664Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6934927Z               "line": 808
2026-06-05T02:56:35.6935158Z             },
2026-06-05T02:56:35.6935398Z             {
2026-06-05T02:56:35.6935731Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6935984Z               "line": 822
2026-06-05T02:56:35.6936211Z             },
2026-06-05T02:56:35.6936450Z             {
2026-06-05T02:56:35.6936798Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.6937037Z               "line": 740
2026-06-05T02:56:35.6937273Z             },
2026-06-05T02:56:35.6937497Z             {
2026-06-05T02:56:35.6937820Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T02:56:35.6938059Z               "line": 371
2026-06-05T02:56:35.6938300Z             },
2026-06-05T02:56:35.6938534Z             {
2026-06-05T02:56:35.6938842Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.6939103Z               "line": 2547
2026-06-05T02:56:35.6939377Z             }
2026-06-05T02:56:35.6939626Z           ]
2026-06-05T02:56:35.6939857Z         }
2026-06-05T02:56:35.6940094Z       }
2026-06-05T02:56:35.6940329Z     },
2026-06-05T02:56:35.6946998Z     {
2026-06-05T02:56:35.6947553Z       "id": "REQ-INST-4",
2026-06-05T02:56:35.6948146Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-05T02:56:35.6948456Z       "requiredStages": [
2026-06-05T02:56:35.6949011Z         "impl",
2026-06-05T02:56:35.6949471Z         "unit"
2026-06-05T02:56:35.6950067Z       ],
2026-06-05T02:56:35.6950352Z       "stages": {
2026-06-05T02:56:35.6950651Z         "doc": {
2026-06-05T02:56:35.6950963Z           "complete": false,
2026-06-05T02:56:35.6951280Z           "evidence": []
2026-06-05T02:56:35.6951594Z         },
2026-06-05T02:56:35.6951883Z         "impl": {
2026-06-05T02:56:35.6952271Z           "complete": true,
2026-06-05T02:56:35.6952566Z           "evidence": [
2026-06-05T02:56:35.6952868Z             {
2026-06-05T02:56:35.6953314Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.6953645Z               "line": 273
2026-06-05T02:56:35.6953936Z             },
2026-06-05T02:56:35.6954226Z             {
2026-06-05T02:56:35.6954638Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6954939Z               "line": 202
2026-06-05T02:56:35.6955211Z             },
2026-06-05T02:56:35.6955482Z             {
2026-06-05T02:56:35.6955872Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6956172Z               "line": 234
2026-06-05T02:56:35.6956443Z             },
2026-06-05T02:56:35.6957024Z             {
2026-06-05T02:56:35.6957490Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6957775Z               "line": 270
2026-06-05T02:56:35.6958037Z             }
2026-06-05T02:56:35.6958326Z           ]
2026-06-05T02:56:35.6958595Z         },
2026-06-05T02:56:35.6958865Z         "int": {
2026-06-05T02:56:35.6959284Z           "complete": false,
2026-06-05T02:56:35.6959749Z           "evidence": []
2026-06-05T02:56:35.6959997Z         },
2026-06-05T02:56:35.6960266Z         "unit": {
2026-06-05T02:56:35.6960543Z           "complete": true,
2026-06-05T02:56:35.6960819Z           "evidence": [
2026-06-05T02:56:35.6961067Z             {
2026-06-05T02:56:35.6961449Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.6961728Z               "line": 664
2026-06-05T02:56:35.6961964Z             },
2026-06-05T02:56:35.6962209Z             {
2026-06-05T02:56:35.6962559Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6962827Z               "line": 518
2026-06-05T02:56:35.6963073Z             },
2026-06-05T02:56:35.6963323Z             {
2026-06-05T02:56:35.6963689Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6964486Z               "line": 583
2026-06-05T02:56:35.6964742Z             },
2026-06-05T02:56:35.6965147Z             {
2026-06-05T02:56:35.6965522Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.6965802Z               "line": 650
2026-06-05T02:56:35.6966045Z             }
2026-06-05T02:56:35.6966298Z           ]
2026-06-05T02:56:35.6966549Z         }
2026-06-05T02:56:35.6966840Z       }
2026-06-05T02:56:35.6967092Z     },
2026-06-05T02:56:35.6967362Z     {
2026-06-05T02:56:35.6967659Z       "id": "REQ-INST-5",
2026-06-05T02:56:35.6968246Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-05T02:56:35.6968547Z       "requiredStages": [
2026-06-05T02:56:35.6968800Z         "impl",
2026-06-05T02:56:35.6969054Z         "unit",
2026-06-05T02:56:35.6969534Z         "int"
2026-06-05T02:56:35.6969830Z       ],
2026-06-05T02:56:35.6970243Z       "stages": {
2026-06-05T02:56:35.6970503Z         "doc": {
2026-06-05T02:56:35.6970792Z           "complete": false,
2026-06-05T02:56:35.6971076Z           "evidence": []
2026-06-05T02:56:35.6971324Z         },
2026-06-05T02:56:35.6971591Z         "impl": {
2026-06-05T02:56:35.6971911Z           "complete": true,
2026-06-05T02:56:35.6972192Z           "evidence": [
2026-06-05T02:56:35.6972447Z             {
2026-06-05T02:56:35.6972839Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-05T02:56:35.6973099Z               "line": 39
2026-06-05T02:56:35.6973352Z             },
2026-06-05T02:56:35.6973600Z             {
2026-06-05T02:56:35.6973933Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T02:56:35.6974207Z               "line": 68
2026-06-05T02:56:35.6974445Z             },
2026-06-05T02:56:35.6974690Z             {
2026-06-05T02:56:35.6975028Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T02:56:35.6975318Z               "line": 93
2026-06-05T02:56:35.6975580Z             },
2026-06-05T02:56:35.6975823Z             {
2026-06-05T02:56:35.6976175Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T02:56:35.6976457Z               "line": 160
2026-06-05T02:56:35.6976720Z             },
2026-06-05T02:56:35.6976958Z             {
2026-06-05T02:56:35.6977310Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T02:56:35.6977569Z               "line": 271
2026-06-05T02:56:35.6977798Z             }
2026-06-05T02:56:35.6978038Z           ]
2026-06-05T02:56:35.6978263Z         },
2026-06-05T02:56:35.6978507Z         "int": {
2026-06-05T02:56:35.6978767Z           "complete": true,
2026-06-05T02:56:35.6979033Z           "evidence": [
2026-06-05T02:56:35.6979333Z             {
2026-06-05T02:56:35.6979894Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T02:56:35.6980300Z               "line": 142
2026-06-05T02:56:35.6980532Z             },
2026-06-05T02:56:35.6980771Z             {
2026-06-05T02:56:35.6981128Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-05T02:56:35.6981390Z               "line": 102
2026-06-05T02:56:35.6981645Z             },
2026-06-05T02:56:35.6981876Z             {
2026-06-05T02:56:35.6982244Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T02:56:35.6982493Z               "line": 517
2026-06-05T02:56:35.6982738Z             },
2026-06-05T02:56:35.6982965Z             {
2026-06-05T02:56:35.6983322Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T02:56:35.6983577Z               "line": 723
2026-06-05T02:56:35.6983819Z             }
2026-06-05T02:56:35.6984058Z           ]
2026-06-05T02:56:35.6984295Z         },
2026-06-05T02:56:35.6984545Z         "unit": {
2026-06-05T02:56:35.6984801Z           "complete": true,
2026-06-05T02:56:35.6985060Z           "evidence": [
2026-06-05T02:56:35.6985296Z             {
2026-06-05T02:56:35.6985621Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T02:56:35.6985876Z               "line": 461
2026-06-05T02:56:35.6986106Z             },
2026-06-05T02:56:35.6986340Z             {
2026-06-05T02:56:35.6986896Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T02:56:35.6987159Z               "line": 495
2026-06-05T02:56:35.6987599Z             },
2026-06-05T02:56:35.6987834Z             {
2026-06-05T02:56:35.6988179Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-05T02:56:35.6988424Z               "line": 199
2026-06-05T02:56:35.6988660Z             }
2026-06-05T02:56:35.6988886Z           ]
2026-06-05T02:56:35.6989120Z         }
2026-06-05T02:56:35.6989584Z       }
2026-06-05T02:56:35.6989840Z     },
2026-06-05T02:56:35.6990245Z     {
2026-06-05T02:56:35.6990495Z       "id": "REQ-INST-6",
2026-06-05T02:56:35.6991053Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-05T02:56:35.6991312Z       "requiredStages": [
2026-06-05T02:56:35.6991557Z         "impl",
2026-06-05T02:56:35.6991800Z         "unit",
2026-06-05T02:56:35.6992031Z         "int"
2026-06-05T02:56:35.6992267Z       ],
2026-06-05T02:56:35.6992505Z       "stages": {
2026-06-05T02:56:35.6992762Z         "doc": {
2026-06-05T02:56:35.6993017Z           "complete": true,
2026-06-05T02:56:35.6993281Z           "evidence": [
2026-06-05T02:56:35.6993519Z             {
2026-06-05T02:56:35.6993803Z               "path": "docs/DEFERRED.md",
2026-06-05T02:56:35.6994061Z               "line": 13
2026-06-05T02:56:35.6994293Z             }
2026-06-05T02:56:35.6994532Z           ]
2026-06-05T02:56:35.6994762Z         },
2026-06-05T02:56:35.7001704Z         "impl": {
2026-06-05T02:56:35.7002360Z           "complete": true,
2026-06-05T02:56:35.7002637Z           "evidence": [
2026-06-05T02:56:35.7002879Z             {
2026-06-05T02:56:35.7003256Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T02:56:35.7003513Z               "line": 356
2026-06-05T02:56:35.7003764Z             },
2026-06-05T02:56:35.7004008Z             {
2026-06-05T02:56:35.7004358Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-05T02:56:35.7004614Z               "line": 27
2026-06-05T02:56:35.7004887Z             },
2026-06-05T02:56:35.7005130Z             {
2026-06-05T02:56:35.7005495Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-05T02:56:35.7005754Z               "line": 73
2026-06-05T02:56:35.7006006Z             },
2026-06-05T02:56:35.7006245Z             {
2026-06-05T02:56:35.7006602Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-05T02:56:35.7006855Z               "line": 165
2026-06-05T02:56:35.7007103Z             },
2026-06-05T02:56:35.7007346Z             {
2026-06-05T02:56:35.7007708Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.7007973Z               "line": 415
2026-06-05T02:56:35.7008207Z             },
2026-06-05T02:56:35.7008453Z             {
2026-06-05T02:56:35.7008789Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-05T02:56:35.7009054Z               "line": 31
2026-06-05T02:56:35.7009348Z             },
2026-06-05T02:56:35.7009608Z             {
2026-06-05T02:56:35.7010099Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T02:56:35.7010344Z               "line": 168
2026-06-05T02:56:35.7010596Z             },
2026-06-05T02:56:35.7010825Z             {
2026-06-05T02:56:35.7011150Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T02:56:35.7011400Z               "line": 81
2026-06-05T02:56:35.7011641Z             },
2026-06-05T02:56:35.7011884Z             {
2026-06-05T02:56:35.7012182Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7012436Z               "line": 794
2026-06-05T02:56:35.7012666Z             },
2026-06-05T02:56:35.7012908Z             {
2026-06-05T02:56:35.7013219Z               "path": "crates/spt/src/wansend.rs",
2026-06-05T02:56:35.7013478Z               "line": 161
2026-06-05T02:56:35.7013718Z             },
2026-06-05T02:56:35.7013946Z             {
2026-06-05T02:56:35.7014261Z               "path": "crates/spt/src/wansend.rs",
2026-06-05T02:56:35.7014504Z               "line": 190
2026-06-05T02:56:35.7015021Z             }
2026-06-05T02:56:35.7015265Z           ]
2026-06-05T02:56:35.7015490Z         },
2026-06-05T02:56:35.7015869Z         "int": {
2026-06-05T02:56:35.7016127Z           "complete": true,
2026-06-05T02:56:35.7016382Z           "evidence": [
2026-06-05T02:56:35.7016612Z             {
2026-06-05T02:56:35.7016928Z               "path": "crates/spt/src/wansend.rs",
2026-06-05T02:56:35.7017181Z               "line": 412
2026-06-05T02:56:35.7017409Z             }
2026-06-05T02:56:35.7017645Z           ]
2026-06-05T02:56:35.7017874Z         },
2026-06-05T02:56:35.7018120Z         "unit": {
2026-06-05T02:56:35.7018378Z           "complete": true,
2026-06-05T02:56:35.7018629Z           "evidence": [
2026-06-05T02:56:35.7018856Z             {
2026-06-05T02:56:35.7019259Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T02:56:35.7019724Z               "line": 577
2026-06-05T02:56:35.7020157Z             },
2026-06-05T02:56:35.7020398Z             {
2026-06-05T02:56:35.7020745Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.7021003Z               "line": 783
2026-06-05T02:56:35.7021253Z             },
2026-06-05T02:56:35.7021482Z             {
2026-06-05T02:56:35.7021817Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-05T02:56:35.7022062Z               "line": 62
2026-06-05T02:56:35.7022300Z             },
2026-06-05T02:56:35.7022529Z             {
2026-06-05T02:56:35.7022870Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T02:56:35.7023124Z               "line": 252
2026-06-05T02:56:35.7023359Z             },
2026-06-05T02:56:35.7023600Z             {
2026-06-05T02:56:35.7023919Z               "path": "crates/spt/src/api/worker.rs",
2026-06-05T02:56:35.7024175Z               "line": 192
2026-06-05T02:56:35.7024403Z             }
2026-06-05T02:56:35.7024638Z           ]
2026-06-05T02:56:35.7024874Z         }
2026-06-05T02:56:35.7025095Z       }
2026-06-05T02:56:35.7025325Z     },
2026-06-05T02:56:35.7025548Z     {
2026-06-05T02:56:35.7025817Z       "id": "REQ-INST-7",
2026-06-05T02:56:35.7026211Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-05T02:56:35.7026488Z       "requiredStages": [
2026-06-05T02:56:35.7026728Z         "impl",
2026-06-05T02:56:35.7026955Z         "unit",
2026-06-05T02:56:35.7027190Z         "int"
2026-06-05T02:56:35.7027417Z       ],
2026-06-05T02:56:35.7027659Z       "stages": {
2026-06-05T02:56:35.7027886Z         "doc": {
2026-06-05T02:56:35.7028155Z           "complete": false,
2026-06-05T02:56:35.7028411Z           "evidence": []
2026-06-05T02:56:35.7028638Z         },
2026-06-05T02:56:35.7028880Z         "impl": {
2026-06-05T02:56:35.7029140Z           "complete": true,
2026-06-05T02:56:35.7029636Z           "evidence": [
2026-06-05T02:56:35.7029892Z             {
2026-06-05T02:56:35.7030396Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T02:56:35.7030653Z               "line": 380
2026-06-05T02:56:35.7030888Z             },
2026-06-05T02:56:35.7031134Z             {
2026-06-05T02:56:35.7031478Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-05T02:56:35.7031736Z               "line": 40
2026-06-05T02:56:35.7031966Z             },
2026-06-05T02:56:35.7032212Z             {
2026-06-05T02:56:35.7032616Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T02:56:35.7032863Z               "line": 27
2026-06-05T02:56:35.7033105Z             },
2026-06-05T02:56:35.7033335Z             {
2026-06-05T02:56:35.7033715Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T02:56:35.7033964Z               "line": 120
2026-06-05T02:56:35.7034205Z             },
2026-06-05T02:56:35.7034443Z             {
2026-06-05T02:56:35.7034811Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T02:56:35.7035064Z               "line": 197
2026-06-05T02:56:35.7035297Z             },
2026-06-05T02:56:35.7035536Z             {
2026-06-05T02:56:35.7035873Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-05T02:56:35.7036293Z               "line": 56
2026-06-05T02:56:35.7036541Z             },
2026-06-05T02:56:35.7036896Z             {
2026-06-05T02:56:35.7037255Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.7037501Z               "line": 41
2026-06-05T02:56:35.7037743Z             },
2026-06-05T02:56:35.7037966Z             {
2026-06-05T02:56:35.7038330Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-05T02:56:35.7038577Z               "line": 27
2026-06-05T02:56:35.7038807Z             },
2026-06-05T02:56:35.7039042Z             {
2026-06-05T02:56:35.7039631Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-05T02:56:35.7040042Z               "line": 59
2026-06-05T02:56:35.7040273Z             },
2026-06-05T02:56:35.7040520Z             {
2026-06-05T02:56:35.7040884Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-05T02:56:35.7041131Z               "line": 68
2026-06-05T02:56:35.7041370Z             },
2026-06-05T02:56:35.7041611Z             {
2026-06-05T02:56:35.7041960Z               "path": "crates/spt-store/src/registry.rs",
2026-06-05T02:56:35.7042230Z               "line": 129
2026-06-05T02:56:35.7042461Z             }
2026-06-05T02:56:35.7042695Z           ]
2026-06-05T02:56:35.7042922Z         },
2026-06-05T02:56:35.7043165Z         "int": {
2026-06-05T02:56:35.7043419Z           "complete": true,
2026-06-05T02:56:35.7043672Z           "evidence": [
2026-06-05T02:56:35.7043896Z             {
2026-06-05T02:56:35.7044259Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-05T02:56:35.7044512Z               "line": 102
2026-06-05T02:56:35.7044739Z             },
2026-06-05T02:56:35.7044974Z             {
2026-06-05T02:56:35.7045323Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T02:56:35.7045582Z               "line": 481
2026-06-05T02:56:35.7045826Z             },
2026-06-05T02:56:35.7046056Z             {
2026-06-05T02:56:35.7046407Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T02:56:35.7046665Z               "line": 639
2026-06-05T02:56:35.7046907Z             }
2026-06-05T02:56:35.7052400Z           ]
2026-06-05T02:56:35.7052789Z         },
2026-06-05T02:56:35.7053062Z         "unit": {
2026-06-05T02:56:35.7053326Z           "complete": true,
2026-06-05T02:56:35.7053581Z           "evidence": [
2026-06-05T02:56:35.7053811Z             {
2026-06-05T02:56:35.7054211Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T02:56:35.7054459Z               "line": 376
2026-06-05T02:56:35.7054698Z             },
2026-06-05T02:56:35.7054936Z             {
2026-06-05T02:56:35.7055306Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T02:56:35.7055563Z               "line": 586
2026-06-05T02:56:35.7055792Z             },
2026-06-05T02:56:35.7056029Z             {
2026-06-05T02:56:35.7056388Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-05T02:56:35.7056643Z               "line": 83
2026-06-05T02:56:35.7056919Z             },
2026-06-05T02:56:35.7057150Z             {
2026-06-05T02:56:35.7057526Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.7057782Z               "line": 550
2026-06-05T02:56:35.7058124Z             },
2026-06-05T02:56:35.7058349Z             {
2026-06-05T02:56:35.7058702Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.7058962Z               "line": 561
2026-06-05T02:56:35.7059257Z             },
2026-06-05T02:56:35.7059693Z             {
2026-06-05T02:56:35.7060215Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.7060475Z               "line": 570
2026-06-05T02:56:35.7060708Z             },
2026-06-05T02:56:35.7060950Z             {
2026-06-05T02:56:35.7061314Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-05T02:56:35.7061555Z               "line": 90
2026-06-05T02:56:35.7061793Z             },
2026-06-05T02:56:35.7062022Z             {
2026-06-05T02:56:35.7062649Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-05T02:56:35.7063038Z               "line": 105
2026-06-05T02:56:35.7063283Z             },
2026-06-05T02:56:35.7063521Z             {
2026-06-05T02:56:35.7063881Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-05T02:56:35.7064136Z               "line": 131
2026-06-05T02:56:35.7064368Z             }
2026-06-05T02:56:35.7064608Z           ]
2026-06-05T02:56:35.7064839Z         }
2026-06-05T02:56:35.7065075Z       }
2026-06-05T02:56:35.7065307Z     },
2026-06-05T02:56:35.7065531Z     {
2026-06-05T02:56:35.7065792Z       "id": "REQ-INST-8",
2026-06-05T02:56:35.7066241Z       "title": "Remote-control mode distinct from local operation",
2026-06-05T02:56:35.7066513Z       "requiredStages": [
2026-06-05T02:56:35.7066752Z         "impl",
2026-06-05T02:56:35.7066996Z         "unit",
2026-06-05T02:56:35.7067237Z         "int"
2026-06-05T02:56:35.7067465Z       ],
2026-06-05T02:56:35.7067708Z       "stages": {
2026-06-05T02:56:35.7067947Z         "doc": {
2026-06-05T02:56:35.7068216Z           "complete": false,
2026-06-05T02:56:35.7068472Z           "evidence": []
2026-06-05T02:56:35.7068715Z         },
2026-06-05T02:56:35.7068957Z         "impl": {
2026-06-05T02:56:35.7069261Z           "complete": true,
2026-06-05T02:56:35.7069708Z           "evidence": [
2026-06-05T02:56:35.7070088Z             {
2026-06-05T02:56:35.7070439Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-05T02:56:35.7070683Z               "line": 98
2026-06-05T02:56:35.7070927Z             },
2026-06-05T02:56:35.7071163Z             {
2026-06-05T02:56:35.7071499Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-05T02:56:35.7071757Z               "line": 202
2026-06-05T02:56:35.7071985Z             },
2026-06-05T02:56:35.7072226Z             {
2026-06-05T02:56:35.7072559Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-05T02:56:35.7072816Z               "line": 220
2026-06-05T02:56:35.7073062Z             },
2026-06-05T02:56:35.7073288Z             {
2026-06-05T02:56:35.7073636Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-05T02:56:35.7073887Z               "line": 35
2026-06-05T02:56:35.7074125Z             }
2026-06-05T02:56:35.7074364Z           ]
2026-06-05T02:56:35.7074598Z         },
2026-06-05T02:56:35.7074840Z         "int": {
2026-06-05T02:56:35.7075090Z           "complete": true,
2026-06-05T02:56:35.7075340Z           "evidence": [
2026-06-05T02:56:35.7075571Z             {
2026-06-05T02:56:35.7075942Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T02:56:35.7076191Z               "line": 375
2026-06-05T02:56:35.7076422Z             },
2026-06-05T02:56:35.7076655Z             {
2026-06-05T02:56:35.7077002Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T02:56:35.7077255Z               "line": 688
2026-06-05T02:56:35.7077485Z             }
2026-06-05T02:56:35.7077724Z           ]
2026-06-05T02:56:35.7077963Z         },
2026-06-05T02:56:35.7078207Z         "unit": {
2026-06-05T02:56:35.7078472Z           "complete": true,
2026-06-05T02:56:35.7078727Z           "evidence": [
2026-06-05T02:56:35.7078968Z             {
2026-06-05T02:56:35.7079373Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-05T02:56:35.7079798Z               "line": 172
2026-06-05T02:56:35.7080224Z             },
2026-06-05T02:56:35.7080456Z             {
2026-06-05T02:56:35.7080816Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-05T02:56:35.7081066Z               "line": 226
2026-06-05T02:56:35.7081307Z             },
2026-06-05T02:56:35.7081537Z             {
2026-06-05T02:56:35.7081888Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-05T02:56:35.7082146Z               "line": 70
2026-06-05T02:56:35.7082378Z             },
2026-06-05T02:56:35.7082616Z             {
2026-06-05T02:56:35.7082954Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-05T02:56:35.7083210Z               "line": 101
2026-06-05T02:56:35.7083653Z             }
2026-06-05T02:56:35.7083899Z           ]
2026-06-05T02:56:35.7084277Z         }
2026-06-05T02:56:35.7084510Z       }
2026-06-05T02:56:35.7084747Z     },
2026-06-05T02:56:35.7084974Z     {
2026-06-05T02:56:35.7085236Z       "id": "REQ-INST-9",
2026-06-05T02:56:35.7085783Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-05T02:56:35.7086056Z       "requiredStages": [
2026-06-05T02:56:35.7086300Z         "impl",
2026-06-05T02:56:35.7086531Z         "unit"
2026-06-05T02:56:35.7086767Z       ],
2026-06-05T02:56:35.7087002Z       "stages": {
2026-06-05T02:56:35.7087244Z         "doc": {
2026-06-05T02:56:35.7087506Z           "complete": false,
2026-06-05T02:56:35.7087764Z           "evidence": []
2026-06-05T02:56:35.7088002Z         },
2026-06-05T02:56:35.7088238Z         "impl": {
2026-06-05T02:56:35.7088506Z           "complete": true,
2026-06-05T02:56:35.7088750Z           "evidence": [
2026-06-05T02:56:35.7088982Z             {
2026-06-05T02:56:35.7089562Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.7090019Z               "line": 266
2026-06-05T02:56:35.7090256Z             }
2026-06-05T02:56:35.7090483Z           ]
2026-06-05T02:56:35.7090718Z         },
2026-06-05T02:56:35.7090951Z         "int": {
2026-06-05T02:56:35.7091218Z           "complete": false,
2026-06-05T02:56:35.7091468Z           "evidence": []
2026-06-05T02:56:35.7091706Z         },
2026-06-05T02:56:35.7091947Z         "unit": {
2026-06-05T02:56:35.7092199Z           "complete": true,
2026-06-05T02:56:35.7092454Z           "evidence": [
2026-06-05T02:56:35.7092685Z             {
2026-06-05T02:56:35.7093041Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.7093288Z               "line": 826
2026-06-05T02:56:35.7093530Z             },
2026-06-05T02:56:35.7093766Z             {
2026-06-05T02:56:35.7094110Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.7094370Z               "line": 835
2026-06-05T02:56:35.7094596Z             },
2026-06-05T02:56:35.7094831Z             {
2026-06-05T02:56:35.7095192Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.7095447Z               "line": 849
2026-06-05T02:56:35.7095688Z             },
2026-06-05T02:56:35.7095922Z             {
2026-06-05T02:56:35.7096276Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.7096524Z               "line": 859
2026-06-05T02:56:35.7096768Z             },
2026-06-05T02:56:35.7096996Z             {
2026-06-05T02:56:35.7097352Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.7102367Z               "line": 878
2026-06-05T02:56:35.7102749Z             }
2026-06-05T02:56:35.7103016Z           ]
2026-06-05T02:56:35.7103247Z         }
2026-06-05T02:56:35.7103487Z       }
2026-06-05T02:56:35.7103713Z     },
2026-06-05T02:56:35.7103947Z     {
2026-06-05T02:56:35.7104236Z       "id": "REQ-INSTALL-1",
2026-06-05T02:56:35.7104848Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-05T02:56:35.7105133Z       "requiredStages": [],
2026-06-05T02:56:35.7105375Z       "stages": {
2026-06-05T02:56:35.7105619Z         "doc": {
2026-06-05T02:56:35.7105884Z           "complete": false,
2026-06-05T02:56:35.7106143Z           "evidence": []
2026-06-05T02:56:35.7106379Z         },
2026-06-05T02:56:35.7106617Z         "impl": {
2026-06-05T02:56:35.7106882Z           "complete": false,
2026-06-05T02:56:35.7107131Z           "evidence": []
2026-06-05T02:56:35.7107371Z         },
2026-06-05T02:56:35.7107600Z         "int": {
2026-06-05T02:56:35.7107868Z           "complete": false,
2026-06-05T02:56:35.7108120Z           "evidence": []
2026-06-05T02:56:35.7108349Z         },
2026-06-05T02:56:35.7108594Z         "unit": {
2026-06-05T02:56:35.7108850Z           "complete": false,
2026-06-05T02:56:35.7109107Z           "evidence": []
2026-06-05T02:56:35.7109411Z         }
2026-06-05T02:56:35.7109919Z       }
2026-06-05T02:56:35.7110158Z     },
2026-06-05T02:56:35.7110383Z     {
2026-06-05T02:56:35.7110780Z       "id": "REQ-INSTALL-2",
2026-06-05T02:56:35.7111172Z       "title": "Marketplace-repackaging-friendly install",
2026-06-05T02:56:35.7111448Z       "requiredStages": [],
2026-06-05T02:56:35.7111688Z       "stages": {
2026-06-05T02:56:35.7111932Z         "doc": {
2026-06-05T02:56:35.7112203Z           "complete": false,
2026-06-05T02:56:35.7112458Z           "evidence": []
2026-06-05T02:56:35.7112697Z         },
2026-06-05T02:56:35.7112930Z         "impl": {
2026-06-05T02:56:35.7113195Z           "complete": false,
2026-06-05T02:56:35.7113446Z           "evidence": []
2026-06-05T02:56:35.7113687Z         },
2026-06-05T02:56:35.7113929Z         "int": {
2026-06-05T02:56:35.7114192Z           "complete": false,
2026-06-05T02:56:35.7114444Z           "evidence": []
2026-06-05T02:56:35.7114669Z         },
2026-06-05T02:56:35.7114910Z         "unit": {
2026-06-05T02:56:35.7115168Z           "complete": false,
2026-06-05T02:56:35.7115431Z           "evidence": []
2026-06-05T02:56:35.7115668Z         }
2026-06-05T02:56:35.7115904Z       }
2026-06-05T02:56:35.7116137Z     },
2026-06-05T02:56:35.7116362Z     {
2026-06-05T02:56:35.7116627Z       "id": "REQ-INSTALL-3",
2026-06-05T02:56:35.7117038Z       "title": "Idempotent + interactive-optional first run",
2026-06-05T02:56:35.7117312Z       "requiredStages": [],
2026-06-05T02:56:35.7117563Z       "stages": {
2026-06-05T02:56:35.7117808Z         "doc": {
2026-06-05T02:56:35.7118079Z           "complete": false,
2026-06-05T02:56:35.7118327Z           "evidence": []
2026-06-05T02:56:35.7118565Z         },
2026-06-05T02:56:35.7118800Z         "impl": {
2026-06-05T02:56:35.7119068Z           "complete": false,
2026-06-05T02:56:35.7119381Z           "evidence": []
2026-06-05T02:56:35.7119622Z         },
2026-06-05T02:56:35.7119877Z         "int": {
2026-06-05T02:56:35.7120136Z           "complete": false,
2026-06-05T02:56:35.7120393Z           "evidence": []
2026-06-05T02:56:35.7120640Z         },
2026-06-05T02:56:35.7120885Z         "unit": {
2026-06-05T02:56:35.7121147Z           "complete": false,
2026-06-05T02:56:35.7121406Z           "evidence": []
2026-06-05T02:56:35.7121648Z         }
2026-06-05T02:56:35.7121878Z       }
2026-06-05T02:56:35.7122112Z     },
2026-06-05T02:56:35.7122341Z     {
2026-06-05T02:56:35.7122611Z       "id": "REQ-INSTALL-4",
2026-06-05T02:56:35.7124613Z       "title": "Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over",
2026-06-05T02:56:35.7124895Z       "requiredStages": [
2026-06-05T02:56:35.7125145Z         "impl",
2026-06-05T02:56:35.7125382Z         "unit"
2026-06-05T02:56:35.7125624Z       ],
2026-06-05T02:56:35.7125864Z       "stages": {
2026-06-05T02:56:35.7126110Z         "doc": {
2026-06-05T02:56:35.7126378Z           "complete": false,
2026-06-05T02:56:35.7126640Z           "evidence": []
2026-06-05T02:56:35.7126877Z         },
2026-06-05T02:56:35.7127117Z         "impl": {
2026-06-05T02:56:35.7127388Z           "complete": true,
2026-06-05T02:56:35.7127635Z           "evidence": [
2026-06-05T02:56:35.7127876Z             {
2026-06-05T02:56:35.7128267Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T02:56:35.7128519Z               "line": 149
2026-06-05T02:56:35.7128761Z             },
2026-06-05T02:56:35.7128992Z             {
2026-06-05T02:56:35.7129482Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-05T02:56:35.7129738Z               "line": 29
2026-06-05T02:56:35.7129986Z             },
2026-06-05T02:56:35.7130223Z             {
2026-06-05T02:56:35.7130584Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-05T02:56:35.7130841Z               "line": 117
2026-06-05T02:56:35.7131075Z             },
2026-06-05T02:56:35.7131317Z             {
2026-06-05T02:56:35.7131667Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-05T02:56:35.7132099Z               "line": 161
2026-06-05T02:56:35.7132473Z             },
2026-06-05T02:56:35.7132710Z             {
2026-06-05T02:56:35.7133075Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-05T02:56:35.7133326Z               "line": 191
2026-06-05T02:56:35.7133569Z             },
2026-06-05T02:56:35.7133806Z             {
2026-06-05T02:56:35.7134156Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-05T02:56:35.7134415Z               "line": 223
2026-06-05T02:56:35.7134647Z             },
2026-06-05T02:56:35.7134887Z             {
2026-06-05T02:56:35.7135191Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7135449Z               "line": 1555
2026-06-05T02:56:35.7135685Z             }
2026-06-05T02:56:35.7135914Z           ]
2026-06-05T02:56:35.7136148Z         },
2026-06-05T02:56:35.7136382Z         "int": {
2026-06-05T02:56:35.7136651Z           "complete": false,
2026-06-05T02:56:35.7136917Z           "evidence": []
2026-06-05T02:56:35.7137155Z         },
2026-06-05T02:56:35.7137405Z         "unit": {
2026-06-05T02:56:35.7137669Z           "complete": true,
2026-06-05T02:56:35.7137922Z           "evidence": [
2026-06-05T02:56:35.7138149Z             {
2026-06-05T02:56:35.7138539Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T02:56:35.7138787Z               "line": 311
2026-06-05T02:56:35.7139024Z             },
2026-06-05T02:56:35.7139321Z             {
2026-06-05T02:56:35.7139677Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-05T02:56:35.7139930Z               "line": 269
2026-06-05T02:56:35.7140157Z             },
2026-06-05T02:56:35.7140389Z             {
2026-06-05T02:56:35.7140740Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-05T02:56:35.7141000Z               "line": 304
2026-06-05T02:56:35.7141239Z             },
2026-06-05T02:56:35.7141469Z             {
2026-06-05T02:56:35.7141825Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-05T02:56:35.7142083Z               "line": 321
2026-06-05T02:56:35.7142335Z             },
2026-06-05T02:56:35.7142562Z             {
2026-06-05T02:56:35.7142874Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7143130Z               "line": 2672
2026-06-05T02:56:35.7143361Z             }
2026-06-05T02:56:35.7143595Z           ]
2026-06-05T02:56:35.7143816Z         }
2026-06-05T02:56:35.7144050Z       }
2026-06-05T02:56:35.7144271Z     },
2026-06-05T02:56:35.7144499Z     {
2026-06-05T02:56:35.7144769Z       "id": "REQ-MANIFEST-1",
2026-06-05T02:56:35.7145327Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-05T02:56:35.7145592Z       "requiredStages": [
2026-06-05T02:56:35.7145821Z         "doc",
2026-06-05T02:56:35.7146061Z         "impl",
2026-06-05T02:56:35.7146288Z         "unit"
2026-06-05T02:56:35.7146523Z       ],
2026-06-05T02:56:35.7146770Z       "stages": {
2026-06-05T02:56:35.7146998Z         "doc": {
2026-06-05T02:56:35.7147273Z           "complete": true,
2026-06-05T02:56:35.7152182Z           "evidence": [
2026-06-05T02:56:35.7152596Z             {
2026-06-05T02:56:35.7152915Z               "path": "docs/MANIFEST.md",
2026-06-05T02:56:35.7153174Z               "line": 19
2026-06-05T02:56:35.7153419Z             }
2026-06-05T02:56:35.7153648Z           ]
2026-06-05T02:56:35.7153887Z         },
2026-06-05T02:56:35.7154125Z         "impl": {
2026-06-05T02:56:35.7154390Z           "complete": true,
2026-06-05T02:56:35.7154637Z           "evidence": [
2026-06-05T02:56:35.7154874Z             {
2026-06-05T02:56:35.7155250Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T02:56:35.7155501Z               "line": 18
2026-06-05T02:56:35.7155739Z             }
2026-06-05T02:56:35.7155971Z           ]
2026-06-05T02:56:35.7156208Z         },
2026-06-05T02:56:35.7156442Z         "int": {
2026-06-05T02:56:35.7156711Z           "complete": false,
2026-06-05T02:56:35.7156969Z           "evidence": []
2026-06-05T02:56:35.7157469Z         },
2026-06-05T02:56:35.7157718Z         "unit": {
2026-06-05T02:56:35.7158105Z           "complete": true,
2026-06-05T02:56:35.7158357Z           "evidence": [
2026-06-05T02:56:35.7158583Z             {
2026-06-05T02:56:35.7158956Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T02:56:35.7159283Z               "line": 706
2026-06-05T02:56:35.7159530Z             },
2026-06-05T02:56:35.7159771Z             {
2026-06-05T02:56:35.7160132Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T02:56:35.7160394Z               "line": 802
2026-06-05T02:56:35.7160630Z             },
2026-06-05T02:56:35.7160868Z             {
2026-06-05T02:56:35.7161229Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T02:56:35.7161476Z               "line": 814
2026-06-05T02:56:35.7161719Z             },
2026-06-05T02:56:35.7161951Z             {
2026-06-05T02:56:35.7162315Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T02:56:35.7162574Z               "line": 822
2026-06-05T02:56:35.7162819Z             },
2026-06-05T02:56:35.7163067Z             {
2026-06-05T02:56:35.7163416Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T02:56:35.7163676Z               "line": 839
2026-06-05T02:56:35.7163906Z             },
2026-06-05T02:56:35.7164147Z             {
2026-06-05T02:56:35.7164497Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T02:56:35.7164756Z               "line": 853
2026-06-05T02:56:35.7165001Z             },
2026-06-05T02:56:35.7165233Z             {
2026-06-05T02:56:35.7165603Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T02:56:35.7165851Z               "line": 868
2026-06-05T02:56:35.7166093Z             },
2026-06-05T02:56:35.7166326Z             {
2026-06-05T02:56:35.7166688Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T02:56:35.7166943Z               "line": 883
2026-06-05T02:56:35.7167174Z             },
2026-06-05T02:56:35.7167420Z             {
2026-06-05T02:56:35.7167778Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T02:56:35.7168051Z               "line": 898
2026-06-05T02:56:35.7168287Z             },
2026-06-05T02:56:35.7168513Z             {
2026-06-05T02:56:35.7168872Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T02:56:35.7169118Z               "line": 909
2026-06-05T02:56:35.7169392Z             }
2026-06-05T02:56:35.7169623Z           ]
2026-06-05T02:56:35.7169860Z         }
2026-06-05T02:56:35.7170090Z       }
2026-06-05T02:56:35.7170310Z     },
2026-06-05T02:56:35.7170546Z     {
2026-06-05T02:56:35.7170807Z       "id": "REQ-MIGRATE-1",
2026-06-05T02:56:35.7171707Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-05T02:56:35.7171999Z       "requiredStages": [],
2026-06-05T02:56:35.7172249Z       "stages": {
2026-06-05T02:56:35.7172490Z         "doc": {
2026-06-05T02:56:35.7172751Z           "complete": false,
2026-06-05T02:56:35.7173025Z           "evidence": []
2026-06-05T02:56:35.7173253Z         },
2026-06-05T02:56:35.7173505Z         "impl": {
2026-06-05T02:56:35.7173769Z           "complete": false,
2026-06-05T02:56:35.7174026Z           "evidence": []
2026-06-05T02:56:35.7174265Z         },
2026-06-05T02:56:35.7174496Z         "int": {
2026-06-05T02:56:35.7174760Z           "complete": false,
2026-06-05T02:56:35.7175010Z           "evidence": []
2026-06-05T02:56:35.7175244Z         },
2026-06-05T02:56:35.7175476Z         "unit": {
2026-06-05T02:56:35.7175739Z           "complete": false,
2026-06-05T02:56:35.7175983Z           "evidence": []
2026-06-05T02:56:35.7176221Z         }
2026-06-05T02:56:35.7176454Z       }
2026-06-05T02:56:35.7176673Z     },
2026-06-05T02:56:35.7176901Z     {
2026-06-05T02:56:35.7177171Z       "id": "REQ-MSG-1",
2026-06-05T02:56:35.7178625Z       "title": "Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)",
2026-06-05T02:56:35.7179127Z       "requiredStages": [
2026-06-05T02:56:35.7179554Z         "impl",
2026-06-05T02:56:35.7179807Z         "unit",
2026-06-05T02:56:35.7180040Z         "int"
2026-06-05T02:56:35.7180276Z       ],
2026-06-05T02:56:35.7180521Z       "stages": {
2026-06-05T02:56:35.7180767Z         "doc": {
2026-06-05T02:56:35.7181035Z           "complete": false,
2026-06-05T02:56:35.7181284Z           "evidence": []
2026-06-05T02:56:35.7181523Z         },
2026-06-05T02:56:35.7181763Z         "impl": {
2026-06-05T02:56:35.7182030Z           "complete": true,
2026-06-05T02:56:35.7182277Z           "evidence": [
2026-06-05T02:56:35.7182520Z             {
2026-06-05T02:56:35.7182869Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T02:56:35.7183116Z               "line": 28
2026-06-05T02:56:35.7183352Z             },
2026-06-05T02:56:35.7183578Z             {
2026-06-05T02:56:35.7183920Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T02:56:35.7184182Z               "line": 94
2026-06-05T02:56:35.7184425Z             },
2026-06-05T02:56:35.7184675Z             {
2026-06-05T02:56:35.7185011Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T02:56:35.7185263Z               "line": 127
2026-06-05T02:56:35.7185496Z             },
2026-06-05T02:56:35.7185732Z             {
2026-06-05T02:56:35.7186060Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T02:56:35.7186319Z               "line": 149
2026-06-05T02:56:35.7186562Z             },
2026-06-05T02:56:35.7186786Z             {
2026-06-05T02:56:35.7187129Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T02:56:35.7187381Z               "line": 174
2026-06-05T02:56:35.7187625Z             },
2026-06-05T02:56:35.7187852Z             {
2026-06-05T02:56:35.7188201Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-05T02:56:35.7188456Z               "line": 18
2026-06-05T02:56:35.7188687Z             },
2026-06-05T02:56:35.7188920Z             {
2026-06-05T02:56:35.7189296Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T02:56:35.7189570Z               "line": 13
2026-06-05T02:56:35.7189800Z             },
2026-06-05T02:56:35.7190035Z             {
2026-06-05T02:56:35.7190360Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T02:56:35.7190605Z               "line": 61
2026-06-05T02:56:35.7190842Z             },
2026-06-05T02:56:35.7191069Z             {
2026-06-05T02:56:35.7191392Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-05T02:56:35.7191634Z               "line": 10
2026-06-05T02:56:35.7191918Z             }
2026-06-05T02:56:35.7192163Z           ]
2026-06-05T02:56:35.7192403Z         },
2026-06-05T02:56:35.7192821Z         "int": {
2026-06-05T02:56:35.7193274Z           "complete": true,
2026-06-05T02:56:35.7193722Z           "evidence": [
2026-06-05T02:56:35.7193997Z             {
2026-06-05T02:56:35.7194580Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-05T02:56:35.7194848Z               "line": 9
2026-06-05T02:56:35.7195079Z             },
2026-06-05T02:56:35.7195313Z             {
2026-06-05T02:56:35.7195727Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-05T02:56:35.7196025Z               "line": 66
2026-06-05T02:56:35.7196268Z             },
2026-06-05T02:56:35.7196517Z             {
2026-06-05T02:56:35.7196927Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-05T02:56:35.7197179Z               "line": 116
2026-06-05T02:56:35.7197423Z             }
2026-06-05T02:56:35.7197655Z           ]
2026-06-05T02:56:35.7197894Z         },
2026-06-05T02:56:35.7198133Z         "unit": {
2026-06-05T02:56:35.7203670Z           "complete": true,
2026-06-05T02:56:35.7203970Z           "evidence": [
2026-06-05T02:56:35.7204205Z             {
2026-06-05T02:56:35.7204554Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T02:56:35.7204804Z               "line": 203
2026-06-05T02:56:35.7205048Z             },
2026-06-05T02:56:35.7205585Z             {
2026-06-05T02:56:35.7205929Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T02:56:35.7206334Z               "line": 232
2026-06-05T02:56:35.7206574Z             },
2026-06-05T02:56:35.7206807Z             {
2026-06-05T02:56:35.7207135Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T02:56:35.7207391Z               "line": 277
2026-06-05T02:56:35.7207632Z             },
2026-06-05T02:56:35.7207863Z             {
2026-06-05T02:56:35.7208193Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T02:56:35.7208438Z               "line": 300
2026-06-05T02:56:35.7208676Z             },
2026-06-05T02:56:35.7208912Z             {
2026-06-05T02:56:35.7209312Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-05T02:56:35.7209570Z               "line": 322
2026-06-05T02:56:35.7209803Z             },
2026-06-05T02:56:35.7210042Z             {
2026-06-05T02:56:35.7210370Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-05T02:56:35.7210636Z               "line": 203
2026-06-05T02:56:35.7210866Z             },
2026-06-05T02:56:35.7211111Z             {
2026-06-05T02:56:35.7211452Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-05T02:56:35.7211703Z               "line": 233
2026-06-05T02:56:35.7211943Z             },
2026-06-05T02:56:35.7212176Z             {
2026-06-05T02:56:35.7212517Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-05T02:56:35.7212762Z               "line": 247
2026-06-05T02:56:35.7213008Z             },
2026-06-05T02:56:35.7213242Z             {
2026-06-05T02:56:35.7213570Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-05T02:56:35.7213821Z               "line": 259
2026-06-05T02:56:35.7214050Z             },
2026-06-05T02:56:35.7214285Z             {
2026-06-05T02:56:35.7214590Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T02:56:35.7214846Z               "line": 158
2026-06-05T02:56:35.7215091Z             },
2026-06-05T02:56:35.7215329Z             {
2026-06-05T02:56:35.7215646Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-05T02:56:35.7215901Z               "line": 235
2026-06-05T02:56:35.7216141Z             },
2026-06-05T02:56:35.7216369Z             {
2026-06-05T02:56:35.7216686Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-05T02:56:35.7216940Z               "line": 68
2026-06-05T02:56:35.7217169Z             },
2026-06-05T02:56:35.7217405Z             {
2026-06-05T02:56:35.7217715Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-05T02:56:35.7217971Z               "line": 74
2026-06-05T02:56:35.7218201Z             },
2026-06-05T02:56:35.7218440Z             {
2026-06-05T02:56:35.7218752Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-05T02:56:35.7218997Z               "line": 80
2026-06-05T02:56:35.7219282Z             },
2026-06-05T02:56:35.7219514Z             {
2026-06-05T02:56:35.7219837Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-05T02:56:35.7220092Z               "line": 99
2026-06-05T02:56:35.7220329Z             }
2026-06-05T02:56:35.7220562Z           ]
2026-06-05T02:56:35.7220796Z         }
2026-06-05T02:56:35.7221034Z       }
2026-06-05T02:56:35.7221255Z     },
2026-06-05T02:56:35.7221491Z     {
2026-06-05T02:56:35.7221740Z       "id": "REQ-MSG-2",
2026-06-05T02:56:35.7222556Z       "title": "spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes",
2026-06-05T02:56:35.7222825Z       "requiredStages": [
2026-06-05T02:56:35.7223058Z         "impl",
2026-06-05T02:56:35.7223297Z         "unit"
2026-06-05T02:56:35.7223523Z       ],
2026-06-05T02:56:35.7223769Z       "stages": {
2026-06-05T02:56:35.7224004Z         "doc": {
2026-06-05T02:56:35.7224274Z           "complete": false,
2026-06-05T02:56:35.7224533Z           "evidence": []
2026-06-05T02:56:35.7224764Z         },
2026-06-05T02:56:35.7225010Z         "impl": {
2026-06-05T02:56:35.7225269Z           "complete": true,
2026-06-05T02:56:35.7225525Z           "evidence": [
2026-06-05T02:56:35.7225922Z             {
2026-06-05T02:56:35.7226243Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7226613Z               "line": 11
2026-06-05T02:56:35.7226851Z             },
2026-06-05T02:56:35.7227090Z             {
2026-06-05T02:56:35.7227395Z               "path": "crates/spt/src/main.rs",
2026-06-05T02:56:35.7227643Z               "line": 8
2026-06-05T02:56:35.7227874Z             }
2026-06-05T02:56:35.7228113Z           ]
2026-06-05T02:56:35.7228353Z         },
2026-06-05T02:56:35.7228585Z         "int": {
2026-06-05T02:56:35.7228850Z           "complete": false,
2026-06-05T02:56:35.7229094Z           "evidence": []
2026-06-05T02:56:35.7229376Z         },
2026-06-05T02:56:35.7229616Z         "unit": {
2026-06-05T02:56:35.7229880Z           "complete": true,
2026-06-05T02:56:35.7230136Z           "evidence": [
2026-06-05T02:56:35.7230372Z             {
2026-06-05T02:56:35.7230674Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7230933Z               "line": 2504
2026-06-05T02:56:35.7231172Z             },
2026-06-05T02:56:35.7231400Z             {
2026-06-05T02:56:35.7231721Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7231972Z               "line": 3473
2026-06-05T02:56:35.7232209Z             },
2026-06-05T02:56:35.7232451Z             {
2026-06-05T02:56:35.7232744Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7232999Z               "line": 3482
2026-06-05T02:56:35.7233226Z             },
2026-06-05T02:56:35.7233460Z             {
2026-06-05T02:56:35.7233769Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7234016Z               "line": 3494
2026-06-05T02:56:35.7234256Z             }
2026-06-05T02:56:35.7234488Z           ]
2026-06-05T02:56:35.7234719Z         }
2026-06-05T02:56:35.7234942Z       }
2026-06-05T02:56:35.7235175Z     },
2026-06-05T02:56:35.7235404Z     {
2026-06-05T02:56:35.7235649Z       "id": "REQ-MSG-3",
2026-06-05T02:56:35.7236841Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-05T02:56:35.7237122Z       "requiredStages": [
2026-06-05T02:56:35.7237365Z         "impl",
2026-06-05T02:56:35.7237609Z         "unit",
2026-06-05T02:56:35.7237840Z         "int"
2026-06-05T02:56:35.7238075Z       ],
2026-06-05T02:56:35.7238306Z       "stages": {
2026-06-05T02:56:35.7238550Z         "doc": {
2026-06-05T02:56:35.7238806Z           "complete": false,
2026-06-05T02:56:35.7239057Z           "evidence": []
2026-06-05T02:56:35.7239337Z         },
2026-06-05T02:56:35.7239576Z         "impl": {
2026-06-05T02:56:35.7239840Z           "complete": true,
2026-06-05T02:56:35.7240082Z           "evidence": [
2026-06-05T02:56:35.7240314Z             {
2026-06-05T02:56:35.7240647Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-05T02:56:35.7240902Z               "line": 19
2026-06-05T02:56:35.7241135Z             },
2026-06-05T02:56:35.7241363Z             {
2026-06-05T02:56:35.7241698Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T02:56:35.7241951Z               "line": 21
2026-06-05T02:56:35.7242191Z             },
2026-06-05T02:56:35.7242418Z             {
2026-06-05T02:56:35.7242742Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T02:56:35.7242992Z               "line": 48
2026-06-05T02:56:35.7243223Z             },
2026-06-05T02:56:35.7243459Z             {
2026-06-05T02:56:35.7243769Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T02:56:35.7244019Z               "line": 131
2026-06-05T02:56:35.7244247Z             }
2026-06-05T02:56:35.7244481Z           ]
2026-06-05T02:56:35.7244716Z         },
2026-06-05T02:56:35.7244948Z         "int": {
2026-06-05T02:56:35.7245206Z           "complete": true,
2026-06-05T02:56:35.7245445Z           "evidence": [
2026-06-05T02:56:35.7245677Z             {
2026-06-05T02:56:35.7246062Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-05T02:56:35.7246493Z               "line": 10
2026-06-05T02:56:35.7246735Z             },
2026-06-05T02:56:35.7247125Z             {
2026-06-05T02:56:35.7247524Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-05T02:56:35.7252418Z               "line": 66
2026-06-05T02:56:35.7252797Z             }
2026-06-05T02:56:35.7253047Z           ]
2026-06-05T02:56:35.7253287Z         },
2026-06-05T02:56:35.7253535Z         "unit": {
2026-06-05T02:56:35.7253801Z           "complete": true,
2026-06-05T02:56:35.7254079Z           "evidence": [
2026-06-05T02:56:35.7254312Z             {
2026-06-05T02:56:35.7254654Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T02:56:35.7254903Z               "line": 185
2026-06-05T02:56:35.7255141Z             },
2026-06-05T02:56:35.7255376Z             {
2026-06-05T02:56:35.7255702Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T02:56:35.7255960Z               "line": 204
2026-06-05T02:56:35.7256187Z             },
2026-06-05T02:56:35.7256454Z             {
2026-06-05T02:56:35.7256782Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-05T02:56:35.7257047Z               "line": 223
2026-06-05T02:56:35.7257287Z             }
2026-06-05T02:56:35.7257514Z           ]
2026-06-05T02:56:35.7257747Z         }
2026-06-05T02:56:35.7257970Z       }
2026-06-05T02:56:35.7258203Z     },
2026-06-05T02:56:35.7258427Z     {
2026-06-05T02:56:35.7258682Z       "id": "REQ-NET-1",
2026-06-05T02:56:35.7259319Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-05T02:56:35.7259591Z       "requiredStages": [
2026-06-05T02:56:35.7259837Z         "impl",
2026-06-05T02:56:35.7260084Z         "unit",
2026-06-05T02:56:35.7260323Z         "int"
2026-06-05T02:56:35.7260552Z       ],
2026-06-05T02:56:35.7260797Z       "stages": {
2026-06-05T02:56:35.7261040Z         "doc": {
2026-06-05T02:56:35.7261300Z           "complete": false,
2026-06-05T02:56:35.7261553Z           "evidence": []
2026-06-05T02:56:35.7261784Z         },
2026-06-05T02:56:35.7262036Z         "impl": {
2026-06-05T02:56:35.7262291Z           "complete": true,
2026-06-05T02:56:35.7262558Z           "evidence": [
2026-06-05T02:56:35.7262792Z             {
2026-06-05T02:56:35.7263155Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T02:56:35.7263414Z               "line": 53
2026-06-05T02:56:35.7263645Z             },
2026-06-05T02:56:35.7263884Z             {
2026-06-05T02:56:35.7264241Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T02:56:35.7264495Z               "line": 515
2026-06-05T02:56:35.7264737Z             },
2026-06-05T02:56:35.7264966Z             {
2026-06-05T02:56:35.7265305Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-05T02:56:35.7265551Z               "line": 69
2026-06-05T02:56:35.7265792Z             },
2026-06-05T02:56:35.7266017Z             {
2026-06-05T02:56:35.7266388Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T02:56:35.7266639Z               "line": 65
2026-06-05T02:56:35.7266878Z             },
2026-06-05T02:56:35.7267118Z             {
2026-06-05T02:56:35.7267485Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T02:56:35.7267745Z               "line": 127
2026-06-05T02:56:35.7267977Z             },
2026-06-05T02:56:35.7268211Z             {
2026-06-05T02:56:35.7268583Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T02:56:35.7268827Z               "line": 143
2026-06-05T02:56:35.7269064Z             },
2026-06-05T02:56:35.7269324Z             {
2026-06-05T02:56:35.7269704Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T02:56:35.7269950Z               "line": 158
2026-06-05T02:56:35.7270193Z             },
2026-06-05T02:56:35.7270434Z             {
2026-06-05T02:56:35.7270793Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T02:56:35.7271047Z               "line": 220
2026-06-05T02:56:35.7271273Z             },
2026-06-05T02:56:35.7271514Z             {
2026-06-05T02:56:35.7272181Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T02:56:35.7272447Z               "line": 255
2026-06-05T02:56:35.7272838Z             },
2026-06-05T02:56:35.7273067Z             {
2026-06-05T02:56:35.7273436Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T02:56:35.7273688Z               "line": 261
2026-06-05T02:56:35.7273937Z             },
2026-06-05T02:56:35.7274174Z             {
2026-06-05T02:56:35.7274530Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T02:56:35.7274784Z               "line": 267
2026-06-05T02:56:35.7275014Z             },
2026-06-05T02:56:35.7275250Z             {
2026-06-05T02:56:35.7275606Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T02:56:35.7275862Z               "line": 283
2026-06-05T02:56:35.7276100Z             },
2026-06-05T02:56:35.7276326Z             {
2026-06-05T02:56:35.7276693Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T02:56:35.7276946Z               "line": 303
2026-06-05T02:56:35.7277193Z             },
2026-06-05T02:56:35.7277452Z             {
2026-06-05T02:56:35.7277889Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-05T02:56:35.7278161Z               "line": 35
2026-06-05T02:56:35.7278395Z             },
2026-06-05T02:56:35.7278633Z             {
2026-06-05T02:56:35.7278979Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-05T02:56:35.7279292Z               "line": 82
2026-06-05T02:56:35.7279544Z             },
2026-06-05T02:56:35.7279785Z             {
2026-06-05T02:56:35.7280126Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.7280373Z               "line": 129
2026-06-05T02:56:35.7280613Z             },
2026-06-05T02:56:35.7280838Z             {
2026-06-05T02:56:35.7281147Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7281403Z               "line": 1131
2026-06-05T02:56:35.7281643Z             },
2026-06-05T02:56:35.7281878Z             {
2026-06-05T02:56:35.7282216Z               "path": "crates/spt/src/wansend.rs",
2026-06-05T02:56:35.7282465Z               "line": 17
2026-06-05T02:56:35.7282701Z             }
2026-06-05T02:56:35.7282940Z           ]
2026-06-05T02:56:35.7283174Z         },
2026-06-05T02:56:35.7283423Z         "int": {
2026-06-05T02:56:35.7283689Z           "complete": true,
2026-06-05T02:56:35.7283933Z           "evidence": [
2026-06-05T02:56:35.7284165Z             {
2026-06-05T02:56:35.7284535Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T02:56:35.7284794Z               "line": 314
2026-06-05T02:56:35.7285022Z             },
2026-06-05T02:56:35.7285259Z             {
2026-06-05T02:56:35.7285631Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T02:56:35.7285877Z               "line": 488
2026-06-05T02:56:35.7286117Z             },
2026-06-05T02:56:35.7286349Z             {
2026-06-05T02:56:35.7286711Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T02:56:35.7286973Z               "line": 645
2026-06-05T02:56:35.7287206Z             }
2026-06-05T02:56:35.7287452Z           ]
2026-06-05T02:56:35.7287681Z         },
2026-06-05T02:56:35.7287924Z         "unit": {
2026-06-05T02:56:35.7288181Z           "complete": true,
2026-06-05T02:56:35.7288435Z           "evidence": [
2026-06-05T02:56:35.7288663Z             {
2026-06-05T02:56:35.7289026Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T02:56:35.7289334Z               "line": 567
2026-06-05T02:56:35.7289570Z             },
2026-06-05T02:56:35.7289804Z             {
2026-06-05T02:56:35.7290163Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T02:56:35.7290425Z               "line": 600
2026-06-05T02:56:35.7290654Z             },
2026-06-05T02:56:35.7290893Z             {
2026-06-05T02:56:35.7291276Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T02:56:35.7291522Z               "line": 621
2026-06-05T02:56:35.7291758Z             },
2026-06-05T02:56:35.7292171Z             {
2026-06-05T02:56:35.7292545Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-05T02:56:35.7292946Z               "line": 142
2026-06-05T02:56:35.7293179Z             },
2026-06-05T02:56:35.7293414Z             {
2026-06-05T02:56:35.7293769Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T02:56:35.7294029Z               "line": 357
2026-06-05T02:56:35.7294258Z             },
2026-06-05T02:56:35.7294494Z             {
2026-06-05T02:56:35.7294869Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T02:56:35.7295115Z               "line": 371
2026-06-05T02:56:35.7295357Z             },
2026-06-05T02:56:35.7295587Z             {
2026-06-05T02:56:35.7295951Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T02:56:35.7296202Z               "line": 390
2026-06-05T02:56:35.7296441Z             },
2026-06-05T02:56:35.7301413Z             {
2026-06-05T02:56:35.7301960Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-05T02:56:35.7302285Z               "line": 106
2026-06-05T02:56:35.7302518Z             },
2026-06-05T02:56:35.7302766Z             {
2026-06-05T02:56:35.7303118Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-05T02:56:35.7303381Z               "line": 148
2026-06-05T02:56:35.7303622Z             },
2026-06-05T02:56:35.7303850Z             {
2026-06-05T02:56:35.7304191Z               "path": "crates/spt-store/src/spool.rs",
2026-06-05T02:56:35.7304444Z               "line": 445
2026-06-05T02:56:35.7304679Z             },
2026-06-05T02:56:35.7304903Z             {
2026-06-05T02:56:35.7305226Z               "path": "crates/spt/src/wansend.rs",
2026-06-05T02:56:35.7305483Z               "line": 324
2026-06-05T02:56:35.7305711Z             },
2026-06-05T02:56:35.7305943Z             {
2026-06-05T02:56:35.7306259Z               "path": "crates/spt/src/wansend.rs",
2026-06-05T02:56:35.7306517Z               "line": 540
2026-06-05T02:56:35.7306746Z             }
2026-06-05T02:56:35.7306994Z           ]
2026-06-05T02:56:35.7307228Z         }
2026-06-05T02:56:35.7307451Z       }
2026-06-05T02:56:35.7307691Z     },
2026-06-05T02:56:35.7307912Z     {
2026-06-05T02:56:35.7308172Z       "id": "REQ-NET-2",
2026-06-05T02:56:35.7308715Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-05T02:56:35.7308988Z       "requiredStages": [
2026-06-05T02:56:35.7309297Z         "impl"
2026-06-05T02:56:35.7309531Z       ],
2026-06-05T02:56:35.7309774Z       "stages": {
2026-06-05T02:56:35.7310003Z         "doc": {
2026-06-05T02:56:35.7310270Z           "complete": false,
2026-06-05T02:56:35.7310519Z           "evidence": []
2026-06-05T02:56:35.7310755Z         },
2026-06-05T02:56:35.7310997Z         "impl": {
2026-06-05T02:56:35.7311256Z           "complete": true,
2026-06-05T02:56:35.7311503Z           "evidence": [
2026-06-05T02:56:35.7311731Z             {
2026-06-05T02:56:35.7312082Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T02:56:35.7312342Z               "line": 49
2026-06-05T02:56:35.7312579Z             },
2026-06-05T02:56:35.7312829Z             {
2026-06-05T02:56:35.7313184Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T02:56:35.7313435Z               "line": 39
2026-06-05T02:56:35.7313669Z             },
2026-06-05T02:56:35.7313902Z             {
2026-06-05T02:56:35.7314259Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T02:56:35.7314514Z               "line": 49
2026-06-05T02:56:35.7314751Z             },
2026-06-05T02:56:35.7314981Z             {
2026-06-05T02:56:35.7315336Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T02:56:35.7315581Z               "line": 127
2026-06-05T02:56:35.7315815Z             },
2026-06-05T02:56:35.7316042Z             {
2026-06-05T02:56:35.7316399Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T02:56:35.7316659Z               "line": 143
2026-06-05T02:56:35.7316894Z             },
2026-06-05T02:56:35.7317410Z             {
2026-06-05T02:56:35.7317764Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-05T02:56:35.7318158Z               "line": 158
2026-06-05T02:56:35.7318398Z             }
2026-06-05T02:56:35.7318625Z           ]
2026-06-05T02:56:35.7318859Z         },
2026-06-05T02:56:35.7319090Z         "int": {
2026-06-05T02:56:35.7319400Z           "complete": false,
2026-06-05T02:56:35.7319649Z           "evidence": []
2026-06-05T02:56:35.7319888Z         },
2026-06-05T02:56:35.7320128Z         "unit": {
2026-06-05T02:56:35.7320383Z           "complete": true,
2026-06-05T02:56:35.7320633Z           "evidence": [
2026-06-05T02:56:35.7320860Z             {
2026-06-05T02:56:35.7321209Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T02:56:35.7321465Z               "line": 334
2026-06-05T02:56:35.7321707Z             }
2026-06-05T02:56:35.7321943Z           ]
2026-06-05T02:56:35.7322166Z         }
2026-06-05T02:56:35.7322403Z       }
2026-06-05T02:56:35.7322627Z     },
2026-06-05T02:56:35.7322872Z     {
2026-06-05T02:56:35.7323119Z       "id": "REQ-NET-3",
2026-06-05T02:56:35.7323651Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-05T02:56:35.7323920Z       "requiredStages": [
2026-06-05T02:56:35.7324154Z         "impl",
2026-06-05T02:56:35.7324390Z         "unit"
2026-06-05T02:56:35.7324615Z       ],
2026-06-05T02:56:35.7324857Z       "stages": {
2026-06-05T02:56:35.7325089Z         "doc": {
2026-06-05T02:56:35.7325356Z           "complete": false,
2026-06-05T02:56:35.7325600Z           "evidence": []
2026-06-05T02:56:35.7325840Z         },
2026-06-05T02:56:35.7326085Z         "impl": {
2026-06-05T02:56:35.7326337Z           "complete": true,
2026-06-05T02:56:35.7326587Z           "evidence": [
2026-06-05T02:56:35.7326812Z             {
2026-06-05T02:56:35.7327151Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T02:56:35.7327394Z               "line": 39
2026-06-05T02:56:35.7327629Z             },
2026-06-05T02:56:35.7327870Z             {
2026-06-05T02:56:35.7328201Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T02:56:35.7328465Z               "line": 159
2026-06-05T02:56:35.7328693Z             },
2026-06-05T02:56:35.7328934Z             {
2026-06-05T02:56:35.7329301Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-05T02:56:35.7329566Z               "line": 290
2026-06-05T02:56:35.7329803Z             },
2026-06-05T02:56:35.7330032Z             {
2026-06-05T02:56:35.7330373Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-05T02:56:35.7330618Z               "line": 36
2026-06-05T02:56:35.7330856Z             },
2026-06-05T02:56:35.7331090Z             {
2026-06-05T02:56:35.7331451Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.7331712Z               "line": 135
2026-06-05T02:56:35.7331948Z             },
2026-06-05T02:56:35.7332190Z             {
2026-06-05T02:56:35.7332553Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.7332824Z               "line": 172
2026-06-05T02:56:35.7333058Z             },
2026-06-05T02:56:35.7333297Z             {
2026-06-05T02:56:35.7333669Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.7333912Z               "line": 184
2026-06-05T02:56:35.7334152Z             },
2026-06-05T02:56:35.7334387Z             {
2026-06-05T02:56:35.7334757Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.7335021Z               "line": 222
2026-06-05T02:56:35.7335257Z             },
2026-06-05T02:56:35.7335496Z             {
2026-06-05T02:56:35.7335857Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.7336117Z               "line": 237
2026-06-05T02:56:35.7336346Z             },
2026-06-05T02:56:35.7336583Z             {
2026-06-05T02:56:35.7336950Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.7337197Z               "line": 273
2026-06-05T02:56:35.7337433Z             },
2026-06-05T02:56:35.7337825Z             {
2026-06-05T02:56:35.7338202Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.7338621Z               "line": 314
2026-06-05T02:56:35.7338869Z             },
2026-06-05T02:56:35.7339103Z             {
2026-06-05T02:56:35.7339538Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.7339798Z               "line": 327
2026-06-05T02:56:35.7340030Z             },
2026-06-05T02:56:35.7340273Z             {
2026-06-05T02:56:35.7340622Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T02:56:35.7340875Z               "line": 29
2026-06-05T02:56:35.7341113Z             },
2026-06-05T02:56:35.7341344Z             {
2026-06-05T02:56:35.7341703Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T02:56:35.7341947Z               "line": 70
2026-06-05T02:56:35.7342189Z             },
2026-06-05T02:56:35.7342427Z             {
2026-06-05T02:56:35.7342779Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T02:56:35.7343052Z               "line": 121
2026-06-05T02:56:35.7343289Z             }
2026-06-05T02:56:35.7343528Z           ]
2026-06-05T02:56:35.7343756Z         },
2026-06-05T02:56:35.7344003Z         "int": {
2026-06-05T02:56:35.7344271Z           "complete": false,
2026-06-05T02:56:35.7344527Z           "evidence": []
2026-06-05T02:56:35.7344764Z         },
2026-06-05T02:56:35.7344996Z         "unit": {
2026-06-05T02:56:35.7345259Z           "complete": true,
2026-06-05T02:56:35.7350063Z           "evidence": [
2026-06-05T02:56:35.7350457Z             {
2026-06-05T02:56:35.7350851Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-05T02:56:35.7351114Z               "line": 203
2026-06-05T02:56:35.7351354Z             },
2026-06-05T02:56:35.7351582Z             {
2026-06-05T02:56:35.7351942Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-05T02:56:35.7352192Z               "line": 303
2026-06-05T02:56:35.7352433Z             },
2026-06-05T02:56:35.7352700Z             {
2026-06-05T02:56:35.7353043Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-05T02:56:35.7353309Z               "line": 399
2026-06-05T02:56:35.7353537Z             },
2026-06-05T02:56:35.7353773Z             {
2026-06-05T02:56:35.7354107Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-05T02:56:35.7354361Z               "line": 93
2026-06-05T02:56:35.7354596Z             },
2026-06-05T02:56:35.7354822Z             {
2026-06-05T02:56:35.7355171Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-05T02:56:35.7355416Z               "line": 131
2026-06-05T02:56:35.7355656Z             },
2026-06-05T02:56:35.7355880Z             {
2026-06-05T02:56:35.7356244Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T02:56:35.7356496Z               "line": 308
2026-06-05T02:56:35.7356729Z             },
2026-06-05T02:56:35.7356961Z             {
2026-06-05T02:56:35.7357308Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T02:56:35.7357576Z               "line": 345
2026-06-05T02:56:35.7357809Z             },
2026-06-05T02:56:35.7358054Z             {
2026-06-05T02:56:35.7358419Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-05T02:56:35.7358664Z               "line": 469
2026-06-05T02:56:35.7358900Z             }
2026-06-05T02:56:35.7359129Z           ]
2026-06-05T02:56:35.7359430Z         }
2026-06-05T02:56:35.7359658Z       }
2026-06-05T02:56:35.7359891Z     },
2026-06-05T02:56:35.7360120Z     {
2026-06-05T02:56:35.7360390Z       "id": "REQ-NODE-IDENTITY",
2026-06-05T02:56:35.7361129Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-05T02:56:35.7361395Z       "requiredStages": [
2026-06-05T02:56:35.7361641Z         "impl",
2026-06-05T02:56:35.7361873Z         "unit"
2026-06-05T02:56:35.7362113Z       ],
2026-06-05T02:56:35.7362357Z       "stages": {
2026-06-05T02:56:35.7362585Z         "doc": {
2026-06-05T02:56:35.7362851Z           "complete": false,
2026-06-05T02:56:35.7363372Z           "evidence": []
2026-06-05T02:56:35.7363614Z         },
2026-06-05T02:56:35.7363987Z         "impl": {
2026-06-05T02:56:35.7364256Z           "complete": true,
2026-06-05T02:56:35.7364509Z           "evidence": [
2026-06-05T02:56:35.7364740Z             {
2026-06-05T02:56:35.7365103Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T02:56:35.7365351Z               "line": 60
2026-06-05T02:56:35.7365597Z             },
2026-06-05T02:56:35.7365831Z             {
2026-06-05T02:56:35.7366192Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T02:56:35.7366449Z               "line": 68
2026-06-05T02:56:35.7366684Z             },
2026-06-05T02:56:35.7366923Z             {
2026-06-05T02:56:35.7367268Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T02:56:35.7367524Z               "line": 86
2026-06-05T02:56:35.7367754Z             },
2026-06-05T02:56:35.7367992Z             {
2026-06-05T02:56:35.7368363Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T02:56:35.7368611Z               "line": 120
2026-06-05T02:56:35.7368862Z             },
2026-06-05T02:56:35.7369092Z             {
2026-06-05T02:56:35.7369512Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T02:56:35.7369761Z               "line": 127
2026-06-05T02:56:35.7370009Z             },
2026-06-05T02:56:35.7370249Z             {
2026-06-05T02:56:35.7370597Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T02:56:35.7370854Z               "line": 143
2026-06-05T02:56:35.7371082Z             },
2026-06-05T02:56:35.7371321Z             {
2026-06-05T02:56:35.7371663Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-05T02:56:35.7371918Z               "line": 16
2026-06-05T02:56:35.7372157Z             }
2026-06-05T02:56:35.7372385Z           ]
2026-06-05T02:56:35.7372622Z         },
2026-06-05T02:56:35.7372854Z         "int": {
2026-06-05T02:56:35.7373124Z           "complete": false,
2026-06-05T02:56:35.7373386Z           "evidence": []
2026-06-05T02:56:35.7373617Z         },
2026-06-05T02:56:35.7373865Z         "unit": {
2026-06-05T02:56:35.7374117Z           "complete": true,
2026-06-05T02:56:35.7374364Z           "evidence": [
2026-06-05T02:56:35.7374589Z             {
2026-06-05T02:56:35.7374949Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T02:56:35.7375203Z               "line": 199
2026-06-05T02:56:35.7375432Z             },
2026-06-05T02:56:35.7375667Z             {
2026-06-05T02:56:35.7376010Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T02:56:35.7376266Z               "line": 218
2026-06-05T02:56:35.7376497Z             },
2026-06-05T02:56:35.7376733Z             {
2026-06-05T02:56:35.7377082Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T02:56:35.7377327Z               "line": 232
2026-06-05T02:56:35.7377567Z             },
2026-06-05T02:56:35.7377792Z             {
2026-06-05T02:56:35.7378147Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-05T02:56:35.7378406Z               "line": 248
2026-06-05T02:56:35.7378656Z             },
2026-06-05T02:56:35.7378892Z             {
2026-06-05T02:56:35.7379268Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-05T02:56:35.7379532Z               "line": 125
2026-06-05T02:56:35.7379763Z             },
2026-06-05T02:56:35.7379996Z             {
2026-06-05T02:56:35.7380327Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-05T02:56:35.7380578Z               "line": 141
2026-06-05T02:56:35.7380822Z             },
2026-06-05T02:56:35.7381056Z             {
2026-06-05T02:56:35.7381407Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-05T02:56:35.7381653Z               "line": 153
2026-06-05T02:56:35.7381887Z             }
2026-06-05T02:56:35.7382117Z           ]
2026-06-05T02:56:35.7382389Z         }
2026-06-05T02:56:35.7382639Z       }
2026-06-05T02:56:35.7382861Z     },
2026-06-05T02:56:35.7383092Z     {
2026-06-05T02:56:35.7383518Z       "id": "REQ-NOTIF-1",
2026-06-05T02:56:35.7384688Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-05T02:56:35.7385086Z       "requiredStages": [
2026-06-05T02:56:35.7385330Z         "impl",
2026-06-05T02:56:35.7385573Z         "unit",
2026-06-05T02:56:35.7385801Z         "int"
2026-06-05T02:56:35.7386036Z       ],
2026-06-05T02:56:35.7386270Z       "stages": {
2026-06-05T02:56:35.7386503Z         "doc": {
2026-06-05T02:56:35.7386763Z           "complete": false,
2026-06-05T02:56:35.7387023Z           "evidence": []
2026-06-05T02:56:35.7387256Z         },
2026-06-05T02:56:35.7387487Z         "impl": {
2026-06-05T02:56:35.7387750Z           "complete": true,
2026-06-05T02:56:35.7387990Z           "evidence": [
2026-06-05T02:56:35.7388223Z             {
2026-06-05T02:56:35.7388575Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T02:56:35.7388831Z               "line": 438
2026-06-05T02:56:35.7389076Z             },
2026-06-05T02:56:35.7389353Z             {
2026-06-05T02:56:35.7389720Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7389964Z               "line": 30
2026-06-05T02:56:35.7390205Z             },
2026-06-05T02:56:35.7390431Z             {
2026-06-05T02:56:35.7390779Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7391028Z               "line": 62
2026-06-05T02:56:35.7391259Z             },
2026-06-05T02:56:35.7391496Z             {
2026-06-05T02:56:35.7391825Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7392073Z               "line": 83
2026-06-05T02:56:35.7392301Z             },
2026-06-05T02:56:35.7392537Z             {
2026-06-05T02:56:35.7392881Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7393120Z               "line": 97
2026-06-05T02:56:35.7393362Z             },
2026-06-05T02:56:35.7393595Z             {
2026-06-05T02:56:35.7393938Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7394191Z               "line": 126
2026-06-05T02:56:35.7394429Z             },
2026-06-05T02:56:35.7399132Z             {
2026-06-05T02:56:35.7399744Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7400030Z               "line": 167
2026-06-05T02:56:35.7400259Z             },
2026-06-05T02:56:35.7400505Z             {
2026-06-05T02:56:35.7400849Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7401107Z               "line": 213
2026-06-05T02:56:35.7401344Z             },
2026-06-05T02:56:35.7401576Z             {
2026-06-05T02:56:35.7401916Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7402162Z               "line": 273
2026-06-05T02:56:35.7402397Z             },
2026-06-05T02:56:35.7402633Z             {
2026-06-05T02:56:35.7402965Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7403222Z               "line": 321
2026-06-05T02:56:35.7403489Z             },
2026-06-05T02:56:35.7403722Z             {
2026-06-05T02:56:35.7404088Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T02:56:35.7404343Z               "line": 24
2026-06-05T02:56:35.7404581Z             },
2026-06-05T02:56:35.7404808Z             {
2026-06-05T02:56:35.7405166Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T02:56:35.7405409Z               "line": 34
2026-06-05T02:56:35.7405647Z             },
2026-06-05T02:56:35.7405874Z             {
2026-06-05T02:56:35.7406239Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T02:56:35.7406489Z               "line": 55
2026-06-05T02:56:35.7406715Z             },
2026-06-05T02:56:35.7406957Z             {
2026-06-05T02:56:35.7407315Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T02:56:35.7407565Z               "line": 76
2026-06-05T02:56:35.7407792Z             },
2026-06-05T02:56:35.7408024Z             {
2026-06-05T02:56:35.7408667Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T02:56:35.7408916Z               "line": 88
2026-06-05T02:56:35.7409333Z             },
2026-06-05T02:56:35.7409572Z             {
2026-06-05T02:56:35.7409935Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-05T02:56:35.7410179Z               "line": 41
2026-06-05T02:56:35.7410415Z             },
2026-06-05T02:56:35.7410651Z             {
2026-06-05T02:56:35.7411001Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T02:56:35.7411252Z               "line": 94
2026-06-05T02:56:35.7411475Z             },
2026-06-05T02:56:35.7411708Z             {
2026-06-05T02:56:35.7412044Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-05T02:56:35.7412295Z               "line": 20
2026-06-05T02:56:35.7412531Z             },
2026-06-05T02:56:35.7412759Z             {
2026-06-05T02:56:35.7413108Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-05T02:56:35.7413350Z               "line": 30
2026-06-05T02:56:35.7413598Z             },
2026-06-05T02:56:35.7413829Z             {
2026-06-05T02:56:35.7414185Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-05T02:56:35.7414434Z               "line": 50
2026-06-05T02:56:35.7414666Z             },
2026-06-05T02:56:35.7414903Z             {
2026-06-05T02:56:35.7415231Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T02:56:35.7415484Z               "line": 28
2026-06-05T02:56:35.7415724Z             },
2026-06-05T02:56:35.7415952Z             {
2026-06-05T02:56:35.7416294Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T02:56:35.7416542Z               "line": 126
2026-06-05T02:56:35.7416778Z             },
2026-06-05T02:56:35.7417006Z             {
2026-06-05T02:56:35.7417342Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T02:56:35.7417599Z               "line": 161
2026-06-05T02:56:35.7417831Z             },
2026-06-05T02:56:35.7418064Z             {
2026-06-05T02:56:35.7418399Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T02:56:35.7418649Z               "line": 197
2026-06-05T02:56:35.7418887Z             },
2026-06-05T02:56:35.7419128Z             {
2026-06-05T02:56:35.7419507Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T02:56:35.7419753Z               "line": 208
2026-06-05T02:56:35.7419985Z             },
2026-06-05T02:56:35.7420209Z             {
2026-06-05T02:56:35.7420548Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T02:56:35.7420803Z               "line": 231
2026-06-05T02:56:35.7421045Z             },
2026-06-05T02:56:35.7421277Z             {
2026-06-05T02:56:35.7421600Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T02:56:35.7421852Z               "line": 251
2026-06-05T02:56:35.7422082Z             },
2026-06-05T02:56:35.7422315Z             {
2026-06-05T02:56:35.7422660Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.7422912Z               "line": 63
2026-06-05T02:56:35.7423157Z             }
2026-06-05T02:56:35.7423381Z           ]
2026-06-05T02:56:35.7423623Z         },
2026-06-05T02:56:35.7423855Z         "int": {
2026-06-05T02:56:35.7424117Z           "complete": true,
2026-06-05T02:56:35.7424356Z           "evidence": [
2026-06-05T02:56:35.7424589Z             {
2026-06-05T02:56:35.7424959Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T02:56:35.7425206Z               "line": 265
2026-06-05T02:56:35.7425440Z             },
2026-06-05T02:56:35.7425667Z             {
2026-06-05T02:56:35.7426047Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-05T02:56:35.7426294Z               "line": 102
2026-06-05T02:56:35.7426531Z             },
2026-06-05T02:56:35.7426766Z             {
2026-06-05T02:56:35.7427116Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T02:56:35.7427370Z               "line": 497
2026-06-05T02:56:35.7427602Z             },
2026-06-05T02:56:35.7427837Z             {
2026-06-05T02:56:35.7428413Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T02:56:35.7428811Z               "line": 745
2026-06-05T02:56:35.7429052Z             }
2026-06-05T02:56:35.7429323Z           ]
2026-06-05T02:56:35.7429562Z         },
2026-06-05T02:56:35.7429796Z         "unit": {
2026-06-05T02:56:35.7430064Z           "complete": true,
2026-06-05T02:56:35.7430309Z           "evidence": [
2026-06-05T02:56:35.7430546Z             {
2026-06-05T02:56:35.7430889Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7431133Z               "line": 396
2026-06-05T02:56:35.7431369Z             },
2026-06-05T02:56:35.7431592Z             {
2026-06-05T02:56:35.7431933Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7432178Z               "line": 434
2026-06-05T02:56:35.7432416Z             },
2026-06-05T02:56:35.7432650Z             {
2026-06-05T02:56:35.7432989Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7433259Z               "line": 515
2026-06-05T02:56:35.7433483Z             },
2026-06-05T02:56:35.7433724Z             {
2026-06-05T02:56:35.7434064Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7434312Z               "line": 536
2026-06-05T02:56:35.7434547Z             },
2026-06-05T02:56:35.7434770Z             {
2026-06-05T02:56:35.7435105Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7435347Z               "line": 589
2026-06-05T02:56:35.7435585Z             },
2026-06-05T02:56:35.7435813Z             {
2026-06-05T02:56:35.7436144Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7436398Z               "line": 628
2026-06-05T02:56:35.7436627Z             },
2026-06-05T02:56:35.7436861Z             {
2026-06-05T02:56:35.7437191Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7437444Z               "line": 720
2026-06-05T02:56:35.7437679Z             },
2026-06-05T02:56:35.7437909Z             {
2026-06-05T02:56:35.7438290Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T02:56:35.7438540Z               "line": 133
2026-06-05T02:56:35.7438777Z             },
2026-06-05T02:56:35.7439007Z             {
2026-06-05T02:56:35.7439417Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T02:56:35.7439677Z               "line": 208
2026-06-05T02:56:35.7439902Z             },
2026-06-05T02:56:35.7440132Z             {
2026-06-05T02:56:35.7440491Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-05T02:56:35.7440751Z               "line": 227
2026-06-05T02:56:35.7440976Z             },
2026-06-05T02:56:35.7441211Z             {
2026-06-05T02:56:35.7441573Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T02:56:35.7441818Z               "line": 332
2026-06-05T02:56:35.7442061Z             },
2026-06-05T02:56:35.7442293Z             {
2026-06-05T02:56:35.7442648Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-05T02:56:35.7442900Z               "line": 361
2026-06-05T02:56:35.7443136Z             },
2026-06-05T02:56:35.7447865Z             {
2026-06-05T02:56:35.7448413Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-05T02:56:35.7448679Z               "line": 112
2026-06-05T02:56:35.7448912Z             },
2026-06-05T02:56:35.7449142Z             {
2026-06-05T02:56:35.7449549Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-05T02:56:35.7449807Z               "line": 72
2026-06-05T02:56:35.7450045Z             },
2026-06-05T02:56:35.7450272Z             {
2026-06-05T02:56:35.7450620Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-05T02:56:35.7450861Z               "line": 94
2026-06-05T02:56:35.7451097Z             },
2026-06-05T02:56:35.7451329Z             {
2026-06-05T02:56:35.7451656Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T02:56:35.7451906Z               "line": 365
2026-06-05T02:56:35.7452133Z             },
2026-06-05T02:56:35.7452655Z             {
2026-06-05T02:56:35.7452987Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T02:56:35.7453390Z               "line": 396
2026-06-05T02:56:35.7453630Z             },
2026-06-05T02:56:35.7453854Z             {
2026-06-05T02:56:35.7454189Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T02:56:35.7454432Z               "line": 410
2026-06-05T02:56:35.7454669Z             },
2026-06-05T02:56:35.7454893Z             {
2026-06-05T02:56:35.7455222Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T02:56:35.7455473Z               "line": 441
2026-06-05T02:56:35.7455703Z             },
2026-06-05T02:56:35.7455937Z             {
2026-06-05T02:56:35.7456258Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T02:56:35.7456515Z               "line": 458
2026-06-05T02:56:35.7456745Z             },
2026-06-05T02:56:35.7456976Z             {
2026-06-05T02:56:35.7457308Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T02:56:35.7457566Z               "line": 483
2026-06-05T02:56:35.7457804Z             },
2026-06-05T02:56:35.7458035Z             {
2026-06-05T02:56:35.7458365Z               "path": "crates/spt-store/src/notif.rs",
2026-06-05T02:56:35.7458609Z               "line": 507
2026-06-05T02:56:35.7458845Z             },
2026-06-05T02:56:35.7459079Z             {
2026-06-05T02:56:35.7459491Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.7459750Z               "line": 427
2026-06-05T02:56:35.7459980Z             }
2026-06-05T02:56:35.7460218Z           ]
2026-06-05T02:56:35.7460437Z         }
2026-06-05T02:56:35.7460673Z       }
2026-06-05T02:56:35.7460900Z     },
2026-06-05T02:56:35.7461123Z     {
2026-06-05T02:56:35.7461388Z       "id": "REQ-NOTIF-2",
2026-06-05T02:56:35.7462204Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-05T02:56:35.7462476Z       "requiredStages": [
2026-06-05T02:56:35.7462703Z         "doc",
2026-06-05T02:56:35.7462950Z         "impl",
2026-06-05T02:56:35.7463186Z         "unit"
2026-06-05T02:56:35.7463422Z       ],
2026-06-05T02:56:35.7463663Z       "stages": {
2026-06-05T02:56:35.7463892Z         "doc": {
2026-06-05T02:56:35.7464153Z           "complete": true,
2026-06-05T02:56:35.7464391Z           "evidence": [
2026-06-05T02:56:35.7464624Z             {
2026-06-05T02:56:35.7464919Z               "path": "docs/MANIFEST.md",
2026-06-05T02:56:35.7465156Z               "line": 62
2026-06-05T02:56:35.7465385Z             }
2026-06-05T02:56:35.7465607Z           ]
2026-06-05T02:56:35.7465838Z         },
2026-06-05T02:56:35.7466069Z         "impl": {
2026-06-05T02:56:35.7466333Z           "complete": true,
2026-06-05T02:56:35.7466583Z           "evidence": [
2026-06-05T02:56:35.7466806Z             {
2026-06-05T02:56:35.7467148Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7467389Z               "line": 242
2026-06-05T02:56:35.7467624Z             },
2026-06-05T02:56:35.7467859Z             {
2026-06-05T02:56:35.7468211Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7468468Z               "line": 256
2026-06-05T02:56:35.7468697Z             },
2026-06-05T02:56:35.7468928Z             {
2026-06-05T02:56:35.7469327Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T02:56:35.7469590Z               "line": 125
2026-06-05T02:56:35.7469818Z             },
2026-06-05T02:56:35.7470052Z             {
2026-06-05T02:56:35.7470404Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.7470645Z               "line": 72
2026-06-05T02:56:35.7470875Z             },
2026-06-05T02:56:35.7471099Z             {
2026-06-05T02:56:35.7471410Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7471652Z               "line": 908
2026-06-05T02:56:35.7471886Z             },
2026-06-05T02:56:35.7472116Z             {
2026-06-05T02:56:35.7472413Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7472841Z               "line": 940
2026-06-05T02:56:35.7473069Z             },
2026-06-05T02:56:35.7473431Z             {
2026-06-05T02:56:35.7473731Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7473991Z               "line": 1012
2026-06-05T02:56:35.7474229Z             },
2026-06-05T02:56:35.7474454Z             {
2026-06-05T02:56:35.7474759Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7475005Z               "line": 1048
2026-06-05T02:56:35.7475245Z             }
2026-06-05T02:56:35.7475481Z           ]
2026-06-05T02:56:35.7475705Z         },
2026-06-05T02:56:35.7475943Z         "int": {
2026-06-05T02:56:35.7476200Z           "complete": false,
2026-06-05T02:56:35.7476457Z           "evidence": []
2026-06-05T02:56:35.7476686Z         },
2026-06-05T02:56:35.7476925Z         "unit": {
2026-06-05T02:56:35.7477175Z           "complete": true,
2026-06-05T02:56:35.7477422Z           "evidence": [
2026-06-05T02:56:35.7477654Z             {
2026-06-05T02:56:35.7478004Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7478259Z               "line": 678
2026-06-05T02:56:35.7478497Z             },
2026-06-05T02:56:35.7478744Z             {
2026-06-05T02:56:35.7479038Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7479346Z               "line": 2566
2026-06-05T02:56:35.7479587Z             },
2026-06-05T02:56:35.7479808Z             {
2026-06-05T02:56:35.7480112Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7480355Z               "line": 2588
2026-06-05T02:56:35.7480598Z             }
2026-06-05T02:56:35.7480830Z           ]
2026-06-05T02:56:35.7481056Z         }
2026-06-05T02:56:35.7481288Z       }
2026-06-05T02:56:35.7481510Z     },
2026-06-05T02:56:35.7481741Z     {
2026-06-05T02:56:35.7481997Z       "id": "REQ-PAIR-1",
2026-06-05T02:56:35.7482315Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-05T02:56:35.7482565Z       "requiredStages": [
2026-06-05T02:56:35.7482803Z         "impl",
2026-06-05T02:56:35.7483049Z         "unit",
2026-06-05T02:56:35.7483278Z         "int"
2026-06-05T02:56:35.7483506Z       ],
2026-06-05T02:56:35.7483744Z       "stages": {
2026-06-05T02:56:35.7483987Z         "doc": {
2026-06-05T02:56:35.7484239Z           "complete": false,
2026-06-05T02:56:35.7484491Z           "evidence": []
2026-06-05T02:56:35.7484726Z         },
2026-06-05T02:56:35.7484957Z         "impl": {
2026-06-05T02:56:35.7485217Z           "complete": true,
2026-06-05T02:56:35.7485459Z           "evidence": [
2026-06-05T02:56:35.7485692Z             {
2026-06-05T02:56:35.7486082Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T02:56:35.7486335Z               "line": 27
2026-06-05T02:56:35.7486568Z             },
2026-06-05T02:56:35.7486790Z             {
2026-06-05T02:56:35.7487174Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T02:56:35.7487413Z               "line": 88
2026-06-05T02:56:35.7487650Z             },
2026-06-05T02:56:35.7487871Z             {
2026-06-05T02:56:35.7488280Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T02:56:35.7488541Z               "line": 110
2026-06-05T02:56:35.7488765Z             },
2026-06-05T02:56:35.7488999Z             {
2026-06-05T02:56:35.7489416Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T02:56:35.7489672Z               "line": 153
2026-06-05T02:56:35.7489913Z             },
2026-06-05T02:56:35.7490135Z             {
2026-06-05T02:56:35.7490523Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T02:56:35.7490767Z               "line": 182
2026-06-05T02:56:35.7495478Z             },
2026-06-05T02:56:35.7495884Z             {
2026-06-05T02:56:35.7496335Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-05T02:56:35.7496615Z               "line": 29
2026-06-05T02:56:35.7496858Z             },
2026-06-05T02:56:35.7497106Z             {
2026-06-05T02:56:35.7497536Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-05T02:56:35.7498101Z               "line": 31
2026-06-05T02:56:35.7498345Z             },
2026-06-05T02:56:35.7498746Z             {
2026-06-05T02:56:35.7499148Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T02:56:35.7499508Z               "line": 40
2026-06-05T02:56:35.7499766Z             },
2026-06-05T02:56:35.7500012Z             {
2026-06-05T02:56:35.7500405Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T02:56:35.7500662Z               "line": 131
2026-06-05T02:56:35.7500909Z             },
2026-06-05T02:56:35.7501154Z             {
2026-06-05T02:56:35.7501532Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T02:56:35.7501797Z               "line": 306
2026-06-05T02:56:35.7502033Z             }
2026-06-05T02:56:35.7502277Z           ]
2026-06-05T02:56:35.7502516Z         },
2026-06-05T02:56:35.7502767Z         "int": {
2026-06-05T02:56:35.7503036Z           "complete": true,
2026-06-05T02:56:35.7503300Z           "evidence": [
2026-06-05T02:56:35.7503541Z             {
2026-06-05T02:56:35.7503909Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T02:56:35.7504175Z               "line": 433
2026-06-05T02:56:35.7504414Z             },
2026-06-05T02:56:35.7504659Z             {
2026-06-05T02:56:35.7505033Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T02:56:35.7505286Z               "line": 549
2026-06-05T02:56:35.7505530Z             }
2026-06-05T02:56:35.7505772Z           ]
2026-06-05T02:56:35.7506019Z         },
2026-06-05T02:56:35.7506263Z         "unit": {
2026-06-05T02:56:35.7506532Z           "complete": true,
2026-06-05T02:56:35.7506790Z           "evidence": [
2026-06-05T02:56:35.7507026Z             {
2026-06-05T02:56:35.7507417Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T02:56:35.7507673Z               "line": 236
2026-06-05T02:56:35.7507918Z             },
2026-06-05T02:56:35.7508154Z             {
2026-06-05T02:56:35.7508558Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-05T02:56:35.7508830Z               "line": 349
2026-06-05T02:56:35.7509069Z             },
2026-06-05T02:56:35.7509359Z             {
2026-06-05T02:56:35.7509751Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-05T02:56:35.7510020Z               "line": 194
2026-06-05T02:56:35.7510271Z             },
2026-06-05T02:56:35.7510516Z             {
2026-06-05T02:56:35.7510900Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-05T02:56:35.7511152Z               "line": 216
2026-06-05T02:56:35.7511406Z             },
2026-06-05T02:56:35.7511662Z             {
2026-06-05T02:56:35.7512076Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-05T02:56:35.7512336Z               "line": 230
2026-06-05T02:56:35.7512583Z             },
2026-06-05T02:56:35.7512828Z             {
2026-06-05T02:56:35.7513213Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-05T02:56:35.7513488Z               "line": 242
2026-06-05T02:56:35.7513727Z             },
2026-06-05T02:56:35.7513982Z             {
2026-06-05T02:56:35.7514372Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-05T02:56:35.7514626Z               "line": 256
2026-06-05T02:56:35.7514877Z             },
2026-06-05T02:56:35.7515117Z             {
2026-06-05T02:56:35.7515500Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-05T02:56:35.7515753Z               "line": 270
2026-06-05T02:56:35.7515998Z             },
2026-06-05T02:56:35.7516242Z             {
2026-06-05T02:56:35.7516624Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-05T02:56:35.7516889Z               "line": 277
2026-06-05T02:56:35.7517137Z             },
2026-06-05T02:56:35.7517383Z             {
2026-06-05T02:56:35.7517760Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-05T02:56:35.7518029Z               "line": 295
2026-06-05T02:56:35.7518498Z             },
2026-06-05T02:56:35.7518736Z             {
2026-06-05T02:56:35.7519126Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T02:56:35.7519601Z               "line": 696
2026-06-05T02:56:35.7519870Z             },
2026-06-05T02:56:35.7520110Z             {
2026-06-05T02:56:35.7520491Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T02:56:35.7520756Z               "line": 757
2026-06-05T02:56:35.7520995Z             },
2026-06-05T02:56:35.7521241Z             {
2026-06-05T02:56:35.7521614Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T02:56:35.7521881Z               "line": 814
2026-06-05T02:56:35.7522131Z             },
2026-06-05T02:56:35.7522367Z             {
2026-06-05T02:56:35.7522747Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T02:56:35.7523006Z               "line": 868
2026-06-05T02:56:35.7523254Z             },
2026-06-05T02:56:35.7523494Z             {
2026-06-05T02:56:35.7523889Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T02:56:35.7524158Z               "line": 920
2026-06-05T02:56:35.7524409Z             },
2026-06-05T02:56:35.7524661Z             {
2026-06-05T02:56:35.7525034Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T02:56:35.7525304Z               "line": 1084
2026-06-05T02:56:35.7525545Z             }
2026-06-05T02:56:35.7525795Z           ]
2026-06-05T02:56:35.7526039Z         }
2026-06-05T02:56:35.7526272Z       }
2026-06-05T02:56:35.7526520Z     },
2026-06-05T02:56:35.7526750Z     {
2026-06-05T02:56:35.7527021Z       "id": "REQ-PAIR-2",
2026-06-05T02:56:35.7527429Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-05T02:56:35.7527709Z       "requiredStages": [
2026-06-05T02:56:35.7527963Z         "impl",
2026-06-05T02:56:35.7528209Z         "unit"
2026-06-05T02:56:35.7528462Z       ],
2026-06-05T02:56:35.7528713Z       "stages": {
2026-06-05T02:56:35.7528961Z         "doc": {
2026-06-05T02:56:35.7529284Z           "complete": false,
2026-06-05T02:56:35.7529555Z           "evidence": []
2026-06-05T02:56:35.7529813Z         },
2026-06-05T02:56:35.7530058Z         "impl": {
2026-06-05T02:56:35.7530332Z           "complete": true,
2026-06-05T02:56:35.7530583Z           "evidence": [
2026-06-05T02:56:35.7530829Z             {
2026-06-05T02:56:35.7531171Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T02:56:35.7531438Z               "line": 42
2026-06-05T02:56:35.7531690Z             },
2026-06-05T02:56:35.7531925Z             {
2026-06-05T02:56:35.7532266Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T02:56:35.7532526Z               "line": 151
2026-06-05T02:56:35.7532776Z             },
2026-06-05T02:56:35.7533166Z             {
2026-06-05T02:56:35.7533593Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T02:56:35.7533911Z               "line": 171
2026-06-05T02:56:35.7534486Z             },
2026-06-05T02:56:35.7534790Z             {
2026-06-05T02:56:35.7535771Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T02:56:35.7536710Z               "line": 209
2026-06-05T02:56:35.7537383Z             },
2026-06-05T02:56:35.7537935Z             {
2026-06-05T02:56:35.7538605Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T02:56:35.7539820Z               "line": 232
2026-06-05T02:56:35.7540842Z             }
2026-06-05T02:56:35.7541568Z           ]
2026-06-05T02:56:35.7542324Z         },
2026-06-05T02:56:35.7543019Z         "int": {
2026-06-05T02:56:35.7552942Z           "complete": false,
2026-06-05T02:56:35.7553933Z           "evidence": []
2026-06-05T02:56:35.7554829Z         },
2026-06-05T02:56:35.7555499Z         "unit": {
2026-06-05T02:56:35.7556228Z           "complete": true,
2026-06-05T02:56:35.7556944Z           "evidence": [
2026-06-05T02:56:35.7557631Z             {
2026-06-05T02:56:35.7558442Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T02:56:35.7560210Z               "line": 253
2026-06-05T02:56:35.7561461Z             },
2026-06-05T02:56:35.7562073Z             {
2026-06-05T02:56:35.7562980Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T02:56:35.7564011Z               "line": 272
2026-06-05T02:56:35.7564705Z             },
2026-06-05T02:56:35.7565297Z             {
2026-06-05T02:56:35.7565979Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T02:56:35.7566875Z               "line": 284
2026-06-05T02:56:35.7567576Z             },
2026-06-05T02:56:35.7568433Z             {
2026-06-05T02:56:35.7569304Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T02:56:35.7570349Z               "line": 303
2026-06-05T02:56:35.7570978Z             },
2026-06-05T02:56:35.7571546Z             {
2026-06-05T02:56:35.7572539Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T02:56:35.7573378Z               "line": 319
2026-06-05T02:56:35.7574024Z             },
2026-06-05T02:56:35.7574582Z             {
2026-06-05T02:56:35.7575372Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T02:56:35.7576242Z               "line": 331
2026-06-05T02:56:35.7577054Z             },
2026-06-05T02:56:35.7577632Z             {
2026-06-05T02:56:35.7578297Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T02:56:35.7579128Z               "line": 343
2026-06-05T02:56:35.7579821Z             },
2026-06-05T02:56:35.7580391Z             {
2026-06-05T02:56:35.7581042Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T02:56:35.7581865Z               "line": 356
2026-06-05T02:56:35.7582498Z             },
2026-06-05T02:56:35.7583049Z             {
2026-06-05T02:56:35.7583695Z               "path": "crates/spt-store/src/trust.rs",
2026-06-05T02:56:35.7584523Z               "line": 370
2026-06-05T02:56:35.7585163Z             }
2026-06-05T02:56:35.7585723Z           ]
2026-06-05T02:56:35.7586261Z         }
2026-06-05T02:56:35.7586787Z       }
2026-06-05T02:56:35.7587303Z     },
2026-06-05T02:56:35.7587828Z     {
2026-06-05T02:56:35.7588392Z       "id": "REQ-PAIR-3",
2026-06-05T02:56:35.7589290Z       "title": "Fetch current pairing code from any paired node",
2026-06-05T02:56:35.7590257Z       "requiredStages": [
2026-06-05T02:56:35.7590924Z         "impl",
2026-06-05T02:56:35.7591497Z         "unit"
2026-06-05T02:56:35.7592067Z       ],
2026-06-05T02:56:35.7592604Z       "stages": {
2026-06-05T02:56:35.7593220Z         "doc": {
2026-06-05T02:56:35.7593824Z           "complete": false,
2026-06-05T02:56:35.7594513Z           "evidence": []
2026-06-05T02:56:35.7595141Z         },
2026-06-05T02:56:35.7595687Z         "impl": {
2026-06-05T02:56:35.7596303Z           "complete": true,
2026-06-05T02:56:35.7596962Z           "evidence": [
2026-06-05T02:56:35.7597577Z             {
2026-06-05T02:56:35.7598203Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7598994Z               "line": 1324
2026-06-05T02:56:35.7599668Z             },
2026-06-05T02:56:35.7600230Z             {
2026-06-05T02:56:35.7600860Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7601666Z               "line": 1360
2026-06-05T02:56:35.7602326Z             },
2026-06-05T02:56:35.7602881Z             {
2026-06-05T02:56:35.7603507Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7604310Z               "line": 1420
2026-06-05T02:56:35.7604952Z             }
2026-06-05T02:56:35.7605516Z           ]
2026-06-05T02:56:35.7606186Z         },
2026-06-05T02:56:35.7606734Z         "int": {
2026-06-05T02:56:35.7607356Z           "complete": false,
2026-06-05T02:56:35.7615178Z           "evidence": []
2026-06-05T02:56:35.7616035Z         },
2026-06-05T02:56:35.7616634Z         "unit": {
2026-06-05T02:56:35.7617745Z           "complete": true,
2026-06-05T02:56:35.7618506Z           "evidence": [
2026-06-05T02:56:35.7619340Z             {
2026-06-05T02:56:35.7620118Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7621208Z               "line": 3584
2026-06-05T02:56:35.7621915Z             },
2026-06-05T02:56:35.7623560Z             {
2026-06-05T02:56:35.7624403Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7625506Z               "line": 3601
2026-06-05T02:56:35.7626473Z             },
2026-06-05T02:56:35.7627173Z             {
2026-06-05T02:56:35.7627973Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7628781Z               "line": 3615
2026-06-05T02:56:35.7629645Z             },
2026-06-05T02:56:35.7630241Z             {
2026-06-05T02:56:35.7630877Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7631690Z               "line": 3631
2026-06-05T02:56:35.7632343Z             },
2026-06-05T02:56:35.7632914Z             {
2026-06-05T02:56:35.7633558Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7634369Z               "line": 3652
2026-06-05T02:56:35.7635003Z             },
2026-06-05T02:56:35.7635569Z             {
2026-06-05T02:56:35.7636317Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7637108Z               "line": 3668
2026-06-05T02:56:35.7637774Z             },
2026-06-05T02:56:35.7638332Z             {
2026-06-05T02:56:35.7638973Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7639835Z               "line": 3681
2026-06-05T02:56:35.7640470Z             },
2026-06-05T02:56:35.7641034Z             {
2026-06-05T02:56:35.7641656Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7642449Z               "line": 3690
2026-06-05T02:56:35.7643085Z             }
2026-06-05T02:56:35.7643644Z           ]
2026-06-05T02:56:35.7644188Z         }
2026-06-05T02:56:35.7644718Z       }
2026-06-05T02:56:35.7645253Z     },
2026-06-05T02:56:35.7645772Z     {
2026-06-05T02:56:35.7646316Z       "id": "REQ-PAIR-4",
2026-06-05T02:56:35.7647043Z       "title": "Subnet naming on first pairing",
2026-06-05T02:56:35.7647877Z       "requiredStages": [
2026-06-05T02:56:35.7648531Z         "impl",
2026-06-05T02:56:35.7649105Z         "unit"
2026-06-05T02:56:35.7649717Z       ],
2026-06-05T02:56:35.7650274Z       "stages": {
2026-06-05T02:56:35.7650860Z         "doc": {
2026-06-05T02:56:35.7651457Z           "complete": false,
2026-06-05T02:56:35.7652148Z           "evidence": []
2026-06-05T02:56:35.7652779Z         },
2026-06-05T02:56:35.7653318Z         "impl": {
2026-06-05T02:56:35.7653930Z           "complete": true,
2026-06-05T02:56:35.7654605Z           "evidence": [
2026-06-05T02:56:35.7655238Z             {
2026-06-05T02:56:35.7655925Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-05T02:56:35.7656757Z               "line": 154
2026-06-05T02:56:35.7657385Z             }
2026-06-05T02:56:35.7657948Z           ]
2026-06-05T02:56:35.7658494Z         },
2026-06-05T02:56:35.7659034Z         "int": {
2026-06-05T02:56:35.7659689Z           "complete": false,
2026-06-05T02:56:35.7660378Z           "evidence": []
2026-06-05T02:56:35.7661011Z         },
2026-06-05T02:56:35.7661569Z         "unit": {
2026-06-05T02:56:35.7662171Z           "complete": true,
2026-06-05T02:56:35.7662844Z           "evidence": [
2026-06-05T02:56:35.7663471Z             {
2026-06-05T02:56:35.7664179Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T02:56:35.7665077Z               "line": 972
2026-06-05T02:56:35.7665708Z             }
2026-06-05T02:56:35.7666263Z           ]
2026-06-05T02:56:35.7666813Z         }
2026-06-05T02:56:35.7667350Z       }
2026-06-05T02:56:35.7667870Z     },
2026-06-05T02:56:35.7668387Z     {
2026-06-05T02:56:35.7668942Z       "id": "REQ-PAIR-5",
2026-06-05T02:56:35.7670333Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-05T02:56:35.7671809Z       "requiredStages": [
2026-06-05T02:56:35.7679377Z         "impl",
2026-06-05T02:56:35.7680242Z         "unit",
2026-06-05T02:56:35.7680834Z         "int"
2026-06-05T02:56:35.7681382Z       ],
2026-06-05T02:56:35.7681915Z       "stages": {
2026-06-05T02:56:35.7682505Z         "doc": {
2026-06-05T02:56:35.7683103Z           "complete": false,
2026-06-05T02:56:35.7684250Z           "evidence": []
2026-06-05T02:56:35.7684874Z         },
2026-06-05T02:56:35.7685635Z         "impl": {
2026-06-05T02:56:35.7686238Z           "complete": true,
2026-06-05T02:56:35.7686907Z           "evidence": [
2026-06-05T02:56:35.7687510Z             {
2026-06-05T02:56:35.7688244Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-05T02:56:35.7689227Z               "line": 33
2026-06-05T02:56:35.7689862Z             },
2026-06-05T02:56:35.7690417Z             {
2026-06-05T02:56:35.7691153Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-05T02:56:35.7692074Z               "line": 45
2026-06-05T02:56:35.7692710Z             },
2026-06-05T02:56:35.7693263Z             {
2026-06-05T02:56:35.7693987Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-05T02:56:35.7694900Z               "line": 59
2026-06-05T02:56:35.7695511Z             },
2026-06-05T02:56:35.7696060Z             {
2026-06-05T02:56:35.7696751Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T02:56:35.7697619Z               "line": 306
2026-06-05T02:56:35.7698256Z             }
2026-06-05T02:56:35.7698807Z           ]
2026-06-05T02:56:35.7699382Z         },
2026-06-05T02:56:35.7699920Z         "int": {
2026-06-05T02:56:35.7700513Z           "complete": true,
2026-06-05T02:56:35.7701182Z           "evidence": [
2026-06-05T02:56:35.7701789Z             {
2026-06-05T02:56:35.7702460Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T02:56:35.7703305Z               "line": 549
2026-06-05T02:56:35.7703927Z             }
2026-06-05T02:56:35.7704478Z           ]
2026-06-05T02:56:35.7705006Z         },
2026-06-05T02:56:35.7705537Z         "unit": {
2026-06-05T02:56:35.7706120Z           "complete": true,
2026-06-05T02:56:35.7706839Z           "evidence": [
2026-06-05T02:56:35.7707443Z             {
2026-06-05T02:56:35.7708174Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-05T02:56:35.7709108Z               "line": 72
2026-06-05T02:56:35.7709781Z             },
2026-06-05T02:56:35.7710345Z             {
2026-06-05T02:56:35.7711080Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-05T02:56:35.7711997Z               "line": 82
2026-06-05T02:56:35.7712614Z             },
2026-06-05T02:56:35.7713163Z             {
2026-06-05T02:56:35.7713895Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-05T02:56:35.7714822Z               "line": 92
2026-06-05T02:56:35.7715440Z             },
2026-06-05T02:56:35.7715987Z             {
2026-06-05T02:56:35.7716712Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-05T02:56:35.7717631Z               "line": 102
2026-06-05T02:56:35.7718262Z             },
2026-06-05T02:56:35.7718805Z             {
2026-06-05T02:56:35.7719601Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-05T02:56:35.7720530Z               "line": 117
2026-06-05T02:56:35.7721179Z             },
2026-06-05T02:56:35.7721731Z             {
2026-06-05T02:56:35.7722419Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T02:56:35.7723301Z               "line": 750
2026-06-05T02:56:35.7723919Z             },
2026-06-05T02:56:35.7724469Z             {
2026-06-05T02:56:35.7725157Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T02:56:35.7726022Z               "line": 806
2026-06-05T02:56:35.7726654Z             },
2026-06-05T02:56:35.7727207Z             {
2026-06-05T02:56:35.7727903Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-05T02:56:35.7728770Z               "line": 1026
2026-06-05T02:56:35.7729446Z             }
2026-06-05T02:56:35.7729994Z           ]
2026-06-05T02:56:35.7730530Z         }
2026-06-05T02:56:35.7731051Z       }
2026-06-05T02:56:35.7731568Z     },
2026-06-05T02:56:35.7732082Z     {
2026-06-05T02:56:35.7732617Z       "id": "REQ-PAIR-6",
2026-06-05T02:56:35.7733820Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-05T02:56:35.7735474Z       "requiredStages": [
2026-06-05T02:56:35.7741977Z         "impl",
2026-06-05T02:56:35.7742639Z         "unit"
2026-06-05T02:56:35.7743202Z       ],
2026-06-05T02:56:35.7743739Z       "stages": {
2026-06-05T02:56:35.7744323Z         "doc": {
2026-06-05T02:56:35.7744912Z           "complete": false,
2026-06-05T02:56:35.7745590Z           "evidence": []
2026-06-05T02:56:35.7746202Z         },
2026-06-05T02:56:35.7746737Z         "impl": {
2026-06-05T02:56:35.7747326Z           "complete": true,
2026-06-05T02:56:35.7747978Z           "evidence": [
2026-06-05T02:56:35.7748577Z             {
2026-06-05T02:56:35.7749240Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7750045Z               "line": 1360
2026-06-05T02:56:35.7750666Z             },
2026-06-05T02:56:35.7751212Z             {
2026-06-05T02:56:35.7751810Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7752620Z               "line": 1420
2026-06-05T02:56:35.7753245Z             },
2026-06-05T02:56:35.7753814Z             {
2026-06-05T02:56:35.7754438Z               "path": "crates/spt/src/elevation.rs",
2026-06-05T02:56:35.7755251Z               "line": 18
2026-06-05T02:56:35.7755869Z             },
2026-06-05T02:56:35.7756425Z             {
2026-06-05T02:56:35.7757056Z               "path": "crates/spt/src/elevation.rs",
2026-06-05T02:56:35.7757846Z               "line": 49
2026-06-05T02:56:35.7758460Z             },
2026-06-05T02:56:35.7759005Z             {
2026-06-05T02:56:35.7759680Z               "path": "crates/spt/src/elevation.rs",
2026-06-05T02:56:35.7760490Z               "line": 70
2026-06-05T02:56:35.7761107Z             }
2026-06-05T02:56:35.7761642Z           ]
2026-06-05T02:56:35.7762167Z         },
2026-06-05T02:56:35.7762692Z         "int": {
2026-06-05T02:56:35.7763271Z           "complete": false,
2026-06-05T02:56:35.7763946Z           "evidence": []
2026-06-05T02:56:35.7764568Z         },
2026-06-05T02:56:35.7765107Z         "unit": {
2026-06-05T02:56:35.7765718Z           "complete": true,
2026-06-05T02:56:35.7766382Z           "evidence": [
2026-06-05T02:56:35.7766979Z             {
2026-06-05T02:56:35.7767597Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7768379Z               "line": 3703
2026-06-05T02:56:35.7769013Z             },
2026-06-05T02:56:35.7769597Z             {
2026-06-05T02:56:35.7770213Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.7770999Z               "line": 3720
2026-06-05T02:56:35.7771626Z             },
2026-06-05T02:56:35.7772178Z             {
2026-06-05T02:56:35.7772814Z               "path": "crates/spt/src/elevation.rs",
2026-06-05T02:56:35.7773628Z               "line": 132
2026-06-05T02:56:35.7774251Z             },
2026-06-05T02:56:35.7774805Z             {
2026-06-05T02:56:35.7775440Z               "path": "crates/spt/src/elevation.rs",
2026-06-05T02:56:35.7776245Z               "line": 141
2026-06-05T02:56:35.7776895Z             }
2026-06-05T02:56:35.7777444Z           ]
2026-06-05T02:56:35.7777967Z         }
2026-06-05T02:56:35.7778504Z       }
2026-06-05T02:56:35.7779013Z     },
2026-06-05T02:56:35.7779581Z     {
2026-06-05T02:56:35.7780131Z       "id": "REQ-PAIR-7",
2026-06-05T02:56:35.7781001Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-05T02:56:35.7781995Z       "requiredStages": [],
2026-06-05T02:56:35.7782662Z       "stages": {
2026-06-05T02:56:35.7783230Z         "doc": {
2026-06-05T02:56:35.7783826Z           "complete": false,
2026-06-05T02:56:35.7784505Z           "evidence": []
2026-06-05T02:56:35.7785118Z         },
2026-06-05T02:56:35.7785659Z         "impl": {
2026-06-05T02:56:35.7786252Z           "complete": false,
2026-06-05T02:56:35.7786933Z           "evidence": []
2026-06-05T02:56:35.7787558Z         },
2026-06-05T02:56:35.7788086Z         "int": {
2026-06-05T02:56:35.7788679Z           "complete": false,
2026-06-05T02:56:35.7789383Z           "evidence": []
2026-06-05T02:56:35.7790288Z         },
2026-06-05T02:56:35.7790828Z         "unit": {
2026-06-05T02:56:35.7791569Z           "complete": false,
2026-06-05T02:56:35.7792253Z           "evidence": []
2026-06-05T02:56:35.7792876Z         }
2026-06-05T02:56:35.7798833Z       }
2026-06-05T02:56:35.7799964Z     },
2026-06-05T02:56:35.7800530Z     {
2026-06-05T02:56:35.7801113Z       "id": "REQ-PRES-1",
2026-06-05T02:56:35.7805781Z       "title": "Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)",
2026-06-05T02:56:35.7810006Z       "requiredStages": [
2026-06-05T02:56:35.7810683Z         "impl",
2026-06-05T02:56:35.7811277Z         "unit",
2026-06-05T02:56:35.7811894Z         "int"
2026-06-05T02:56:35.7812460Z       ],
2026-06-05T02:56:35.7813033Z       "stages": {
2026-06-05T02:56:35.7813621Z         "doc": {
2026-06-05T02:56:35.7814234Z           "complete": true,
2026-06-05T02:56:35.7814916Z           "evidence": [
2026-06-05T02:56:35.7815533Z             {
2026-06-05T02:56:35.7816164Z               "path": "docs/DEFERRED.md",
2026-06-05T02:56:35.7816922Z               "line": 11
2026-06-05T02:56:35.7817557Z             }
2026-06-05T02:56:35.7818127Z           ]
2026-06-05T02:56:35.7818681Z         },
2026-06-05T02:56:35.7819272Z         "impl": {
2026-06-05T02:56:35.7819890Z           "complete": true,
2026-06-05T02:56:35.7820566Z           "evidence": [
2026-06-05T02:56:35.7821196Z             {
2026-06-05T02:56:35.7821893Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T02:56:35.7822751Z               "line": 439
2026-06-05T02:56:35.7823387Z             },
2026-06-05T02:56:35.7823965Z             {
2026-06-05T02:56:35.7824658Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-05T02:56:35.7825509Z               "line": 487
2026-06-05T02:56:35.7826142Z             },
2026-06-05T02:56:35.7826712Z             {
2026-06-05T02:56:35.7827390Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7828222Z               "line": 168
2026-06-05T02:56:35.7828857Z             },
2026-06-05T02:56:35.7829471Z             {
2026-06-05T02:56:35.7830144Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7830987Z               "line": 186
2026-06-05T02:56:35.7831635Z             },
2026-06-05T02:56:35.7832211Z             {
2026-06-05T02:56:35.7832910Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-05T02:56:35.7833748Z               "line": 28
2026-06-05T02:56:35.7834380Z             },
2026-06-05T02:56:35.7834953Z             {
2026-06-05T02:56:35.7835635Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-05T02:56:35.7836491Z               "line": 99
2026-06-05T02:56:35.7837126Z             },
2026-06-05T02:56:35.7837705Z             {
2026-06-05T02:56:35.7838388Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-05T02:56:35.7839278Z               "line": 153
2026-06-05T02:56:35.7839926Z             },
2026-06-05T02:56:35.7840509Z             {
2026-06-05T02:56:35.7841193Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-05T02:56:35.7842038Z               "line": 172
2026-06-05T02:56:35.7842700Z             },
2026-06-05T02:56:35.7843320Z             {
2026-06-05T02:56:35.7844037Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T02:56:35.7844925Z               "line": 251
2026-06-05T02:56:35.7845563Z             },
2026-06-05T02:56:35.7846109Z             {
2026-06-05T02:56:35.7846773Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T02:56:35.7847610Z               "line": 282
2026-06-05T02:56:35.7848217Z             },
2026-06-05T02:56:35.7849081Z             {
2026-06-05T02:56:35.7849789Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T02:56:35.7850784Z               "line": 329
2026-06-05T02:56:35.7851403Z             },
2026-06-05T02:56:35.7851949Z             {
2026-06-05T02:56:35.7852609Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T02:56:35.7853431Z               "line": 355
2026-06-05T02:56:35.7854051Z             },
2026-06-05T02:56:35.7854603Z             {
2026-06-05T02:56:35.7855262Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.7856089Z               "line": 100
2026-06-05T02:56:35.7856695Z             }
2026-06-05T02:56:35.7857230Z           ]
2026-06-05T02:56:35.7857758Z         },
2026-06-05T02:56:35.7858298Z         "int": {
2026-06-05T02:56:35.7858879Z           "complete": true,
2026-06-05T02:56:35.7859573Z           "evidence": [
2026-06-05T02:56:35.7860185Z             {
2026-06-05T02:56:35.7860860Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T02:56:35.7867644Z               "line": 517
2026-06-05T02:56:35.7868333Z             }
2026-06-05T02:56:35.7868943Z           ]
2026-06-05T02:56:35.7869590Z         },
2026-06-05T02:56:35.7870147Z         "unit": {
2026-06-05T02:56:35.7870755Z           "complete": true,
2026-06-05T02:56:35.7871431Z           "evidence": [
2026-06-05T02:56:35.7872051Z             {
2026-06-05T02:56:35.7872721Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.7873553Z               "line": 461
2026-06-05T02:56:35.7874183Z             },
2026-06-05T02:56:35.7874756Z             {
2026-06-05T02:56:35.7875438Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-05T02:56:35.7876283Z               "line": 217
2026-06-05T02:56:35.7876917Z             },
2026-06-05T02:56:35.7877491Z             {
2026-06-05T02:56:35.7878171Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-05T02:56:35.7879021Z               "line": 248
2026-06-05T02:56:35.7879705Z             },
2026-06-05T02:56:35.7880293Z             {
2026-06-05T02:56:35.7880976Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-05T02:56:35.7881822Z               "line": 281
2026-06-05T02:56:35.7882459Z             },
2026-06-05T02:56:35.7883034Z             {
2026-06-05T02:56:35.7883711Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-05T02:56:35.7884555Z               "line": 312
2026-06-05T02:56:35.7885200Z             },
2026-06-05T02:56:35.7885781Z             {
2026-06-05T02:56:35.7886485Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-05T02:56:35.7887346Z               "line": 449
2026-06-05T02:56:35.7887977Z             },
2026-06-05T02:56:35.7888550Z             {
2026-06-05T02:56:35.7889272Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-05T02:56:35.7890130Z               "line": 676
2026-06-05T02:56:35.7890765Z             }
2026-06-05T02:56:35.7891339Z           ]
2026-06-05T02:56:35.7891891Z         }
2026-06-05T02:56:35.7892449Z       }
2026-06-05T02:56:35.7892984Z     },
2026-06-05T02:56:35.7893512Z     {
2026-06-05T02:56:35.7894077Z       "id": "REQ-REACH-1",
2026-06-05T02:56:35.7894916Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-05T02:56:35.7895842Z       "requiredStages": [
2026-06-05T02:56:35.7896492Z         "impl",
2026-06-05T02:56:35.7897060Z         "unit",
2026-06-05T02:56:35.7897634Z         "int"
2026-06-05T02:56:35.7898186Z       ],
2026-06-05T02:56:35.7898727Z       "stages": {
2026-06-05T02:56:35.7899352Z         "doc": {
2026-06-05T02:56:35.7899957Z           "complete": false,
2026-06-05T02:56:35.7900637Z           "evidence": []
2026-06-05T02:56:35.7901289Z         },
2026-06-05T02:56:35.7901848Z         "impl": {
2026-06-05T02:56:35.7902437Z           "complete": true,
2026-06-05T02:56:35.7903074Z           "evidence": [
2026-06-05T02:56:35.7903666Z             {
2026-06-05T02:56:35.7904307Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-05T02:56:35.7905407Z               "line": 133
2026-06-05T02:56:35.7906019Z             },
2026-06-05T02:56:35.7906568Z             {
2026-06-05T02:56:35.7907401Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-05T02:56:35.7908190Z               "line": 76
2026-06-05T02:56:35.7908788Z             },
2026-06-05T02:56:35.7909372Z             {
2026-06-05T02:56:35.7909999Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-05T02:56:35.7910780Z               "line": 209
2026-06-05T02:56:35.7911394Z             },
2026-06-05T02:56:35.7911938Z             {
2026-06-05T02:56:35.7912565Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-05T02:56:35.7913357Z               "line": 386
2026-06-05T02:56:35.7913964Z             },
2026-06-05T02:56:35.7914509Z             {
2026-06-05T02:56:35.7915128Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-05T02:56:35.7915902Z               "line": 484
2026-06-05T02:56:35.7916503Z             },
2026-06-05T02:56:35.7917045Z             {
2026-06-05T02:56:35.7917690Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-05T02:56:35.7918486Z               "line": 39
2026-06-05T02:56:35.7919090Z             },
2026-06-05T02:56:35.7919678Z             {
2026-06-05T02:56:35.7920303Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T02:56:35.7926985Z               "line": 217
2026-06-05T02:56:35.7927690Z             },
2026-06-05T02:56:35.7928237Z             {
2026-06-05T02:56:35.7928867Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-05T02:56:35.7929737Z               "line": 82
2026-06-05T02:56:35.7930355Z             },
2026-06-05T02:56:35.7930901Z             {
2026-06-05T02:56:35.7931215Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-05T02:56:35.7931474Z               "line": 92
2026-06-05T02:56:35.7931891Z             },
2026-06-05T02:56:35.7932175Z             {
2026-06-05T02:56:35.7932581Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.7932884Z               "line": 189
2026-06-05T02:56:35.7933317Z             }
2026-06-05T02:56:35.7933551Z           ]
2026-06-05T02:56:35.7933796Z         },
2026-06-05T02:56:35.7934037Z         "int": {
2026-06-05T02:56:35.7934289Z           "complete": true,
2026-06-05T02:56:35.7934538Z           "evidence": [
2026-06-05T02:56:35.7934768Z             {
2026-06-05T02:56:35.7935131Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T02:56:35.7935738Z               "line": 375
2026-06-05T02:56:35.7936025Z             },
2026-06-05T02:56:35.7936262Z             {
2026-06-05T02:56:35.7936618Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T02:56:35.7936865Z               "line": 478
2026-06-05T02:56:35.7937097Z             },
2026-06-05T02:56:35.7937332Z             {
2026-06-05T02:56:35.7937670Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T02:56:35.7937931Z               "line": 661
2026-06-05T02:56:35.7938166Z             },
2026-06-05T02:56:35.7938392Z             {
2026-06-05T02:56:35.7938755Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T02:56:35.7939009Z               "line": 755
2026-06-05T02:56:35.7939287Z             }
2026-06-05T02:56:35.7939528Z           ]
2026-06-05T02:56:35.7939749Z         },
2026-06-05T02:56:35.7939988Z         "unit": {
2026-06-05T02:56:35.7940240Z           "complete": true,
2026-06-05T02:56:35.7940493Z           "evidence": [
2026-06-05T02:56:35.7940720Z             {
2026-06-05T02:56:35.7941054Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-05T02:56:35.7941306Z               "line": 585
2026-06-05T02:56:35.7941530Z             },
2026-06-05T02:56:35.7941761Z             {
2026-06-05T02:56:35.7942081Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-05T02:56:35.7942333Z               "line": 606
2026-06-05T02:56:35.7942563Z             },
2026-06-05T02:56:35.7942818Z             {
2026-06-05T02:56:35.7943362Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-05T02:56:35.7944347Z               "line": 337
2026-06-05T02:56:35.7944639Z             },
2026-06-05T02:56:35.7945096Z             {
2026-06-05T02:56:35.7945600Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-05T02:56:35.7945851Z               "line": 92
2026-06-05T02:56:35.7946092Z             },
2026-06-05T02:56:35.7946324Z             {
2026-06-05T02:56:35.7946656Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-05T02:56:35.7946911Z               "line": 176
2026-06-05T02:56:35.7947137Z             },
2026-06-05T02:56:35.7947374Z             {
2026-06-05T02:56:35.7947696Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-05T02:56:35.7947955Z               "line": 92
2026-06-05T02:56:35.7948190Z             },
2026-06-05T02:56:35.7948419Z             {
2026-06-05T02:56:35.7948751Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-05T02:56:35.7948996Z               "line": 123
2026-06-05T02:56:35.7949290Z             },
2026-06-05T02:56:35.7949544Z             {
2026-06-05T02:56:35.7949875Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T02:56:35.7950143Z               "line": 436
2026-06-05T02:56:35.7950372Z             },
2026-06-05T02:56:35.7950604Z             {
2026-06-05T02:56:35.7950918Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-05T02:56:35.7951173Z               "line": 112
2026-06-05T02:56:35.7951403Z             },
2026-06-05T02:56:35.7951640Z             {
2026-06-05T02:56:35.7951962Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-05T02:56:35.7952204Z               "line": 136
2026-06-05T02:56:35.7952442Z             },
2026-06-05T02:56:35.7952669Z             {
2026-06-05T02:56:35.7953017Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.7953265Z               "line": 548
2026-06-05T02:56:35.7953499Z             }
2026-06-05T02:56:35.7953735Z           ]
2026-06-05T02:56:35.7953959Z         }
2026-06-05T02:56:35.7954192Z       }
2026-06-05T02:56:35.7954428Z     },
2026-06-05T02:56:35.7954669Z     {
2026-06-05T02:56:35.7954918Z       "id": "REQ-REACH-2",
2026-06-05T02:56:35.7955368Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-05T02:56:35.7955638Z       "requiredStages": [],
2026-06-05T02:56:35.7955878Z       "stages": {
2026-06-05T02:56:35.7956121Z         "doc": {
2026-06-05T02:56:35.7956375Z           "complete": false,
2026-06-05T02:56:35.7956635Z           "evidence": []
2026-06-05T02:56:35.7956863Z         },
2026-06-05T02:56:35.7957105Z         "impl": {
2026-06-05T02:56:35.7957369Z           "complete": false,
2026-06-05T02:56:35.7957607Z           "evidence": []
2026-06-05T02:56:35.7957843Z         },
2026-06-05T02:56:35.7958075Z         "int": {
2026-06-05T02:56:35.7958339Z           "complete": false,
2026-06-05T02:56:35.7958577Z           "evidence": []
2026-06-05T02:56:35.7958814Z         },
2026-06-05T02:56:35.7959056Z         "unit": {
2026-06-05T02:56:35.7959363Z           "complete": false,
2026-06-05T02:56:35.7959635Z           "evidence": []
2026-06-05T02:56:35.7959857Z         }
2026-06-05T02:56:35.7960093Z       }
2026-06-05T02:56:35.7960318Z     },
2026-06-05T02:56:35.7960552Z     {
2026-06-05T02:56:35.7960870Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-05T02:56:35.7961398Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-05T02:56:35.7961661Z       "requiredStages": [
2026-06-05T02:56:35.7961893Z         "impl",
2026-06-05T02:56:35.7962131Z         "unit"
2026-06-05T02:56:35.7962356Z       ],
2026-06-05T02:56:35.7962600Z       "stages": {
2026-06-05T02:56:35.7962832Z         "doc": {
2026-06-05T02:56:35.7963083Z           "complete": false,
2026-06-05T02:56:35.7963338Z           "evidence": []
2026-06-05T02:56:35.7963558Z         },
2026-06-05T02:56:35.7963798Z         "impl": {
2026-06-05T02:56:35.7964045Z           "complete": true,
2026-06-05T02:56:35.7964299Z           "evidence": [
2026-06-05T02:56:35.7964539Z             {
2026-06-05T02:56:35.7964865Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T02:56:35.7965318Z               "line": 18
2026-06-05T02:56:35.7965676Z             },
2026-06-05T02:56:35.7965923Z             {
2026-06-05T02:56:35.7966252Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T02:56:35.7966504Z               "line": 35
2026-06-05T02:56:35.7966740Z             },
2026-06-05T02:56:35.7966963Z             {
2026-06-05T02:56:35.7967302Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T02:56:35.7967542Z               "line": 65
2026-06-05T02:56:35.7967777Z             }
2026-06-05T02:56:35.7968009Z           ]
2026-06-05T02:56:35.7968245Z         },
2026-06-05T02:56:35.7968486Z         "int": {
2026-06-05T02:56:35.7968740Z           "complete": false,
2026-06-05T02:56:35.7968998Z           "evidence": []
2026-06-05T02:56:35.7969285Z         },
2026-06-05T02:56:35.7969533Z         "unit": {
2026-06-05T02:56:35.7969787Z           "complete": true,
2026-06-05T02:56:35.7970055Z           "evidence": [
2026-06-05T02:56:35.7970312Z             {
2026-06-05T02:56:35.7970645Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T02:56:35.7970912Z               "line": 200
2026-06-05T02:56:35.7971145Z             },
2026-06-05T02:56:35.7971384Z             {
2026-06-05T02:56:35.7971712Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T02:56:35.7971966Z               "line": 214
2026-06-05T02:56:35.7972204Z             },
2026-06-05T02:56:35.7979024Z             {
2026-06-05T02:56:35.7979690Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T02:56:35.7979961Z               "line": 223
2026-06-05T02:56:35.7980199Z             }
2026-06-05T02:56:35.7980426Z           ]
2026-06-05T02:56:35.7980681Z         }
2026-06-05T02:56:35.7980915Z       }
2026-06-05T02:56:35.7981141Z     },
2026-06-05T02:56:35.7981370Z     {
2026-06-05T02:56:35.7981647Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-05T02:56:35.7982089Z       "title": "Hostable endpoint-types capability declaration",
2026-06-05T02:56:35.7982393Z       "requiredStages": [
2026-06-05T02:56:35.7982637Z         "impl",
2026-06-05T02:56:35.7982884Z         "unit"
2026-06-05T02:56:35.7983112Z       ],
2026-06-05T02:56:35.7983353Z       "stages": {
2026-06-05T02:56:35.7983582Z         "doc": {
2026-06-05T02:56:35.7983847Z           "complete": false,
2026-06-05T02:56:35.7984088Z           "evidence": []
2026-06-05T02:56:35.7984321Z         },
2026-06-05T02:56:35.7984558Z         "impl": {
2026-06-05T02:56:35.7984804Z           "complete": true,
2026-06-05T02:56:35.7985050Z           "evidence": [
2026-06-05T02:56:35.7985275Z             {
2026-06-05T02:56:35.7985633Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.7985871Z               "line": 376
2026-06-05T02:56:35.7986110Z             }
2026-06-05T02:56:35.7986342Z           ]
2026-06-05T02:56:35.7986564Z         },
2026-06-05T02:56:35.7986800Z         "int": {
2026-06-05T02:56:35.7987047Z           "complete": false,
2026-06-05T02:56:35.7987310Z           "evidence": []
2026-06-05T02:56:35.7987533Z         },
2026-06-05T02:56:35.7987777Z         "unit": {
2026-06-05T02:56:35.7988043Z           "complete": true,
2026-06-05T02:56:35.7988282Z           "evidence": [
2026-06-05T02:56:35.7988519Z             {
2026-06-05T02:56:35.7988857Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.7989112Z               "line": 581
2026-06-05T02:56:35.7989393Z             }
2026-06-05T02:56:35.7989633Z           ]
2026-06-05T02:56:35.7989868Z         }
2026-06-05T02:56:35.7990096Z       }
2026-06-05T02:56:35.7990323Z     },
2026-06-05T02:56:35.7990541Z     {
2026-06-05T02:56:35.7990815Z       "id": "REQ-SEAM-HISTORY",
2026-06-05T02:56:35.7991339Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-05T02:56:35.7991610Z       "requiredStages": [
2026-06-05T02:56:35.7991847Z         "impl",
2026-06-05T02:56:35.7992072Z         "unit",
2026-06-05T02:56:35.7992304Z         "int"
2026-06-05T02:56:35.7992830Z       ],
2026-06-05T02:56:35.7993076Z       "stages": {
2026-06-05T02:56:35.7993311Z         "doc": {
2026-06-05T02:56:35.7993718Z           "complete": false,
2026-06-05T02:56:35.7993978Z           "evidence": []
2026-06-05T02:56:35.7994200Z         },
2026-06-05T02:56:35.7994443Z         "impl": {
2026-06-05T02:56:35.7994693Z           "complete": true,
2026-06-05T02:56:35.7994942Z           "evidence": [
2026-06-05T02:56:35.7995166Z             {
2026-06-05T02:56:35.7995494Z               "path": "crates/spt-live/src/echo.rs",
2026-06-05T02:56:35.7995746Z               "line": 24
2026-06-05T02:56:35.7995978Z             },
2026-06-05T02:56:35.7996212Z             {
2026-06-05T02:56:35.7996545Z               "path": "crates/spt-live/src/history.rs",
2026-06-05T02:56:35.7996794Z               "line": 22
2026-06-05T02:56:35.7997021Z             }
2026-06-05T02:56:35.7997255Z           ]
2026-06-05T02:56:35.7997492Z         },
2026-06-05T02:56:35.7997721Z         "int": {
2026-06-05T02:56:35.7997980Z           "complete": true,
2026-06-05T02:56:35.7998236Z           "evidence": [
2026-06-05T02:56:35.7998476Z             {
2026-06-05T02:56:35.7998831Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T02:56:35.7999088Z               "line": 202
2026-06-05T02:56:35.7999371Z             }
2026-06-05T02:56:35.7999605Z           ]
2026-06-05T02:56:35.7999840Z         },
2026-06-05T02:56:35.8000069Z         "unit": {
2026-06-05T02:56:35.8000328Z           "complete": true,
2026-06-05T02:56:35.8000571Z           "evidence": [
2026-06-05T02:56:35.8000806Z             {
2026-06-05T02:56:35.8001133Z               "path": "crates/spt-live/src/echo.rs",
2026-06-05T02:56:35.8001380Z               "line": 163
2026-06-05T02:56:35.8001621Z             },
2026-06-05T02:56:35.8001850Z             {
2026-06-05T02:56:35.8002180Z               "path": "crates/spt-live/src/echo.rs",
2026-06-05T02:56:35.8002422Z               "line": 186
2026-06-05T02:56:35.8002662Z             },
2026-06-05T02:56:35.8002897Z             {
2026-06-05T02:56:35.8003220Z               "path": "crates/spt-live/src/echo.rs",
2026-06-05T02:56:35.8003486Z               "line": 195
2026-06-05T02:56:35.8003716Z             },
2026-06-05T02:56:35.8003950Z             {
2026-06-05T02:56:35.8004281Z               "path": "crates/spt-live/src/history.rs",
2026-06-05T02:56:35.8004538Z               "line": 195
2026-06-05T02:56:35.8004776Z             },
2026-06-05T02:56:35.8005003Z             {
2026-06-05T02:56:35.8005344Z               "path": "crates/spt-live/src/history.rs",
2026-06-05T02:56:35.8005584Z               "line": 209
2026-06-05T02:56:35.8005819Z             },
2026-06-05T02:56:35.8006051Z             {
2026-06-05T02:56:35.8006388Z               "path": "crates/spt-live/src/history.rs",
2026-06-05T02:56:35.8006637Z               "line": 228
2026-06-05T02:56:35.8006865Z             },
2026-06-05T02:56:35.8007096Z             {
2026-06-05T02:56:35.8007423Z               "path": "crates/spt-live/src/history.rs",
2026-06-05T02:56:35.8007687Z               "line": 248
2026-06-05T02:56:35.8007916Z             },
2026-06-05T02:56:35.8008156Z             {
2026-06-05T02:56:35.8008509Z               "path": "crates/spt-live/src/history.rs",
2026-06-05T02:56:35.8008755Z               "line": 264
2026-06-05T02:56:35.8008992Z             },
2026-06-05T02:56:35.8009261Z             {
2026-06-05T02:56:35.8009604Z               "path": "crates/spt-live/src/history.rs",
2026-06-05T02:56:35.8009854Z               "line": 279
2026-06-05T02:56:35.8010081Z             }
2026-06-05T02:56:35.8010315Z           ]
2026-06-05T02:56:35.8010545Z         }
2026-06-05T02:56:35.8010783Z       }
2026-06-05T02:56:35.8011000Z     },
2026-06-05T02:56:35.8011229Z     {
2026-06-05T02:56:35.8011488Z       "id": "REQ-SEAM-INJECT",
2026-06-05T02:56:35.8011967Z       "title": "inject-input methods configurable per activity-state",
2026-06-05T02:56:35.8012232Z       "requiredStages": [
2026-06-05T02:56:35.8012474Z         "impl",
2026-06-05T02:56:35.8012740Z         "unit"
2026-06-05T02:56:35.8013186Z       ],
2026-06-05T02:56:35.8013435Z       "stages": {
2026-06-05T02:56:35.8013667Z         "doc": {
2026-06-05T02:56:35.8014077Z           "complete": false,
2026-06-05T02:56:35.8014336Z           "evidence": []
2026-06-05T02:56:35.8014563Z         },
2026-06-05T02:56:35.8014806Z         "impl": {
2026-06-05T02:56:35.8015059Z           "complete": true,
2026-06-05T02:56:35.8015310Z           "evidence": [
2026-06-05T02:56:35.8015541Z             {
2026-06-05T02:56:35.8015888Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T02:56:35.8016141Z               "line": 19
2026-06-05T02:56:35.8016370Z             },
2026-06-05T02:56:35.8016605Z             {
2026-06-05T02:56:35.8016937Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T02:56:35.8017193Z               "line": 104
2026-06-05T02:56:35.8017425Z             }
2026-06-05T02:56:35.8017651Z           ]
2026-06-05T02:56:35.8017883Z         },
2026-06-05T02:56:35.8018109Z         "int": {
2026-06-05T02:56:35.8018381Z           "complete": false,
2026-06-05T02:56:35.8018625Z           "evidence": []
2026-06-05T02:56:35.8018863Z         },
2026-06-05T02:56:35.8019091Z         "unit": {
2026-06-05T02:56:35.8019414Z           "complete": true,
2026-06-05T02:56:35.8019670Z           "evidence": [
2026-06-05T02:56:35.8019899Z             {
2026-06-05T02:56:35.8020237Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T02:56:35.8020481Z               "line": 291
2026-06-05T02:56:35.8020717Z             },
2026-06-05T02:56:35.8020942Z             {
2026-06-05T02:56:35.8021281Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T02:56:35.8021534Z               "line": 305
2026-06-05T02:56:35.8021762Z             }
2026-06-05T02:56:35.8027544Z           ]
2026-06-05T02:56:35.8027913Z         }
2026-06-05T02:56:35.8028180Z       }
2026-06-05T02:56:35.8028402Z     },
2026-06-05T02:56:35.8028639Z     {
2026-06-05T02:56:35.8028942Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-05T02:56:35.8029452Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-05T02:56:35.8029733Z       "requiredStages": [
2026-06-05T02:56:35.8029985Z         "impl",
2026-06-05T02:56:35.8030229Z         "unit"
2026-06-05T02:56:35.8030456Z       ],
2026-06-05T02:56:35.8030697Z       "stages": {
2026-06-05T02:56:35.8030936Z         "doc": {
2026-06-05T02:56:35.8031194Z           "complete": false,
2026-06-05T02:56:35.8031450Z           "evidence": []
2026-06-05T02:56:35.8031673Z         },
2026-06-05T02:56:35.8031916Z         "impl": {
2026-06-05T02:56:35.8032167Z           "complete": true,
2026-06-05T02:56:35.8032417Z           "evidence": [
2026-06-05T02:56:35.8032652Z             {
2026-06-05T02:56:35.8032984Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.8033232Z               "line": 18
2026-06-05T02:56:35.8033457Z             },
2026-06-05T02:56:35.8033694Z             {
2026-06-05T02:56:35.8034023Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.8034314Z               "line": 304
2026-06-05T02:56:35.8034564Z             }
2026-06-05T02:56:35.8034789Z           ]
2026-06-05T02:56:35.8035029Z         },
2026-06-05T02:56:35.8035257Z         "int": {
2026-06-05T02:56:35.8035521Z           "complete": false,
2026-06-05T02:56:35.8035770Z           "evidence": []
2026-06-05T02:56:35.8036005Z         },
2026-06-05T02:56:35.8036242Z         "unit": {
2026-06-05T02:56:35.8036489Z           "complete": true,
2026-06-05T02:56:35.8036737Z           "evidence": [
2026-06-05T02:56:35.8036961Z             {
2026-06-05T02:56:35.8037306Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.8037549Z               "line": 526
2026-06-05T02:56:35.8037789Z             },
2026-06-05T02:56:35.8038023Z             {
2026-06-05T02:56:35.8038349Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.8038604Z               "line": 536
2026-06-05T02:56:35.8038832Z             }
2026-06-05T02:56:35.8039068Z           ]
2026-06-05T02:56:35.8039597Z         }
2026-06-05T02:56:35.8039840Z       }
2026-06-05T02:56:35.8040075Z     },
2026-06-05T02:56:35.8040419Z     {
2026-06-05T02:56:35.8040702Z       "id": "REQ-SEAM-PSYCHE",
2026-06-05T02:56:35.8041115Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-05T02:56:35.8041392Z       "requiredStages": [
2026-06-05T02:56:35.8041628Z         "impl",
2026-06-05T02:56:35.8041868Z         "unit",
2026-06-05T02:56:35.8042102Z         "int"
2026-06-05T02:56:35.8042326Z       ],
2026-06-05T02:56:35.8042561Z       "stages": {
2026-06-05T02:56:35.8042790Z         "doc": {
2026-06-05T02:56:35.8043055Z           "complete": false,
2026-06-05T02:56:35.8043299Z           "evidence": []
2026-06-05T02:56:35.8043530Z         },
2026-06-05T02:56:35.8043768Z         "impl": {
2026-06-05T02:56:35.8044018Z           "complete": true,
2026-06-05T02:56:35.8044268Z           "evidence": [
2026-06-05T02:56:35.8044490Z             {
2026-06-05T02:56:35.8044824Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-05T02:56:35.8045076Z               "line": 19
2026-06-05T02:56:35.8045317Z             },
2026-06-05T02:56:35.8045563Z             {
2026-06-05T02:56:35.8045879Z               "path": "crates/spt/src/api/live.rs",
2026-06-05T02:56:35.8046130Z               "line": 12
2026-06-05T02:56:35.8046359Z             },
2026-06-05T02:56:35.8046595Z             {
2026-06-05T02:56:35.8046923Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.8047178Z               "line": 204
2026-06-05T02:56:35.8047419Z             }
2026-06-05T02:56:35.8047644Z           ]
2026-06-05T02:56:35.8047880Z         },
2026-06-05T02:56:35.8048111Z         "int": {
2026-06-05T02:56:35.8048373Z           "complete": true,
2026-06-05T02:56:35.8048613Z           "evidence": [
2026-06-05T02:56:35.8048846Z             {
2026-06-05T02:56:35.8049252Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T02:56:35.8049505Z               "line": 201
2026-06-05T02:56:35.8049743Z             }
2026-06-05T02:56:35.8049982Z           ]
2026-06-05T02:56:35.8050215Z         },
2026-06-05T02:56:35.8050448Z         "unit": {
2026-06-05T02:56:35.8050728Z           "complete": true,
2026-06-05T02:56:35.8050979Z           "evidence": [
2026-06-05T02:56:35.8051207Z             {
2026-06-05T02:56:35.8051542Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-05T02:56:35.8051783Z               "line": 161
2026-06-05T02:56:35.8052020Z             },
2026-06-05T02:56:35.8052245Z             {
2026-06-05T02:56:35.8052585Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-05T02:56:35.8052836Z               "line": 168
2026-06-05T02:56:35.8053065Z             },
2026-06-05T02:56:35.8053297Z             {
2026-06-05T02:56:35.8053627Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-05T02:56:35.8053878Z               "line": 191
2026-06-05T02:56:35.8054119Z             },
2026-06-05T02:56:35.8054349Z             {
2026-06-05T02:56:35.8054682Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-05T02:56:35.8054944Z               "line": 106
2026-06-05T02:56:35.8055176Z             },
2026-06-05T02:56:35.8055411Z             {
2026-06-05T02:56:35.8055749Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-05T02:56:35.8056002Z               "line": 123
2026-06-05T02:56:35.8056231Z             },
2026-06-05T02:56:35.8056460Z             {
2026-06-05T02:56:35.8056778Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-05T02:56:35.8057032Z               "line": 137
2026-06-05T02:56:35.8057261Z             }
2026-06-05T02:56:35.8057497Z           ]
2026-06-05T02:56:35.8057729Z         }
2026-06-05T02:56:35.8057953Z       }
2026-06-05T02:56:35.8058182Z     },
2026-06-05T02:56:35.8058406Z     {
2026-06-05T02:56:35.8058675Z       "id": "REQ-SEAM-RESUME",
2026-06-05T02:56:35.8059269Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-05T02:56:35.8059543Z       "requiredStages": [
2026-06-05T02:56:35.8059782Z         "impl",
2026-06-05T02:56:35.8060175Z         "unit"
2026-06-05T02:56:35.8060413Z       ],
2026-06-05T02:56:35.8060648Z       "stages": {
2026-06-05T02:56:35.8061011Z         "doc": {
2026-06-05T02:56:35.8061269Z           "complete": false,
2026-06-05T02:56:35.8061533Z           "evidence": []
2026-06-05T02:56:35.8061767Z         },
2026-06-05T02:56:35.8061997Z         "impl": {
2026-06-05T02:56:35.8062263Z           "complete": true,
2026-06-05T02:56:35.8062508Z           "evidence": [
2026-06-05T02:56:35.8062737Z             {
2026-06-05T02:56:35.8063066Z               "path": "crates/spt-live/src/resume.rs",
2026-06-05T02:56:35.8063321Z               "line": 19
2026-06-05T02:56:35.8063556Z             }
2026-06-05T02:56:35.8063786Z           ]
2026-06-05T02:56:35.8064019Z         },
2026-06-05T02:56:35.8064249Z         "int": {
2026-06-05T02:56:35.8064515Z           "complete": false,
2026-06-05T02:56:35.8064765Z           "evidence": []
2026-06-05T02:56:35.8064995Z         },
2026-06-05T02:56:35.8065232Z         "unit": {
2026-06-05T02:56:35.8065491Z           "complete": true,
2026-06-05T02:56:35.8065736Z           "evidence": [
2026-06-05T02:56:35.8065970Z             {
2026-06-05T02:56:35.8066304Z               "path": "crates/spt-live/src/resume.rs",
2026-06-05T02:56:35.8066545Z               "line": 168
2026-06-05T02:56:35.8066782Z             },
2026-06-05T02:56:35.8067012Z             {
2026-06-05T02:56:35.8067336Z               "path": "crates/spt-live/src/resume.rs",
2026-06-05T02:56:35.8067589Z               "line": 187
2026-06-05T02:56:35.8067822Z             },
2026-06-05T02:56:35.8068063Z             {
2026-06-05T02:56:35.8068392Z               "path": "crates/spt-live/src/resume.rs",
2026-06-05T02:56:35.8068663Z               "line": 205
2026-06-05T02:56:35.8068940Z             }
2026-06-05T02:56:35.8069474Z           ]
2026-06-05T02:56:35.8069778Z         }
2026-06-05T02:56:35.8070347Z       }
2026-06-05T02:56:35.8076841Z     },
2026-06-05T02:56:35.8077338Z     {
2026-06-05T02:56:35.8077709Z       "id": "REQ-SEAM-SPAWN",
2026-06-05T02:56:35.8078100Z       "title": "spawn-session seam",
2026-06-05T02:56:35.8078394Z       "requiredStages": [
2026-06-05T02:56:35.8078694Z         "impl",
2026-06-05T02:56:35.8078963Z         "unit"
2026-06-05T02:56:35.8079327Z       ],
2026-06-05T02:56:35.8079747Z       "stages": {
2026-06-05T02:56:35.8080020Z         "doc": {
2026-06-05T02:56:35.8080306Z           "complete": false,
2026-06-05T02:56:35.8080575Z           "evidence": []
2026-06-05T02:56:35.8080831Z         },
2026-06-05T02:56:35.8081088Z         "impl": {
2026-06-05T02:56:35.8081392Z           "complete": true,
2026-06-05T02:56:35.8081644Z           "evidence": [
2026-06-05T02:56:35.8081867Z             {
2026-06-05T02:56:35.8082247Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T02:56:35.8082509Z               "line": 20
2026-06-05T02:56:35.8082742Z             }
2026-06-05T02:56:35.8082987Z           ]
2026-06-05T02:56:35.8083267Z         },
2026-06-05T02:56:35.8083523Z         "int": {
2026-06-05T02:56:35.8083835Z           "complete": false,
2026-06-05T02:56:35.8084103Z           "evidence": []
2026-06-05T02:56:35.8084371Z         },
2026-06-05T02:56:35.8084616Z         "unit": {
2026-06-05T02:56:35.8084879Z           "complete": true,
2026-06-05T02:56:35.8085144Z           "evidence": [
2026-06-05T02:56:35.8085383Z             {
2026-06-05T02:56:35.8085740Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T02:56:35.8085984Z               "line": 397
2026-06-05T02:56:35.8086219Z             },
2026-06-05T02:56:35.8086446Z             {
2026-06-05T02:56:35.8086805Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T02:56:35.8087064Z               "line": 404
2026-06-05T02:56:35.8087293Z             },
2026-06-05T02:56:35.8087526Z             {
2026-06-05T02:56:35.8087866Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T02:56:35.8088117Z               "line": 414
2026-06-05T02:56:35.8088344Z             },
2026-06-05T02:56:35.8088579Z             {
2026-06-05T02:56:35.8089474Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T02:56:35.8089882Z               "line": 420
2026-06-05T02:56:35.8090123Z             },
2026-06-05T02:56:35.8090352Z             {
2026-06-05T02:56:35.8090714Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T02:56:35.8090961Z               "line": 440
2026-06-05T02:56:35.8091197Z             },
2026-06-05T02:56:35.8091435Z             {
2026-06-05T02:56:35.8091778Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-05T02:56:35.8092035Z               "line": 473
2026-06-05T02:56:35.8092280Z             }
2026-06-05T02:56:35.8092542Z           ]
2026-06-05T02:56:35.8093073Z         }
2026-06-05T02:56:35.8093328Z       }
2026-06-05T02:56:35.8093750Z     },
2026-06-05T02:56:35.8094016Z     {
2026-06-05T02:56:35.8094318Z       "id": "REQ-SEAM-UPDATE",
2026-06-05T02:56:35.8094823Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-05T02:56:35.8095122Z       "requiredStages": [
2026-06-05T02:56:35.8095363Z         "impl",
2026-06-05T02:56:35.8095628Z         "unit"
2026-06-05T02:56:35.8095872Z       ],
2026-06-05T02:56:35.8096113Z       "stages": {
2026-06-05T02:56:35.8096368Z         "doc": {
2026-06-05T02:56:35.8096636Z           "complete": false,
2026-06-05T02:56:35.8096909Z           "evidence": []
2026-06-05T02:56:35.8097145Z         },
2026-06-05T02:56:35.8097402Z         "impl": {
2026-06-05T02:56:35.8097674Z           "complete": true,
2026-06-05T02:56:35.8097933Z           "evidence": [
2026-06-05T02:56:35.8098176Z             {
2026-06-05T02:56:35.8098587Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T02:56:35.8098849Z               "line": 28
2026-06-05T02:56:35.8099100Z             },
2026-06-05T02:56:35.8099406Z             {
2026-06-05T02:56:35.8099987Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T02:56:35.8100230Z               "line": 83
2026-06-05T02:56:35.8100470Z             }
2026-06-05T02:56:35.8100713Z           ]
2026-06-05T02:56:35.8100954Z         },
2026-06-05T02:56:35.8101192Z         "int": {
2026-06-05T02:56:35.8101463Z           "complete": false,
2026-06-05T02:56:35.8101723Z           "evidence": []
2026-06-05T02:56:35.8101956Z         },
2026-06-05T02:56:35.8102203Z         "unit": {
2026-06-05T02:56:35.8102465Z           "complete": true,
2026-06-05T02:56:35.8102720Z           "evidence": [
2026-06-05T02:56:35.8102949Z             {
2026-06-05T02:56:35.8103350Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T02:56:35.8103608Z               "line": 270
2026-06-05T02:56:35.8103886Z             },
2026-06-05T02:56:35.8104127Z             {
2026-06-05T02:56:35.8104511Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T02:56:35.8104772Z               "line": 281
2026-06-05T02:56:35.8105008Z             }
2026-06-05T02:56:35.8105254Z           ]
2026-06-05T02:56:35.8105494Z         }
2026-06-05T02:56:35.8105739Z       }
2026-06-05T02:56:35.8105973Z     },
2026-06-05T02:56:35.8106196Z     {
2026-06-05T02:56:35.8106467Z       "id": "REQ-SEC-1",
2026-06-05T02:56:35.8107670Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-05T02:56:35.8107943Z       "requiredStages": [
2026-06-05T02:56:35.8108188Z         "impl",
2026-06-05T02:56:35.8108419Z         "unit"
2026-06-05T02:56:35.8108655Z       ],
2026-06-05T02:56:35.8108887Z       "stages": {
2026-06-05T02:56:35.8109125Z         "doc": {
2026-06-05T02:56:35.8109426Z           "complete": false,
2026-06-05T02:56:35.8109689Z           "evidence": []
2026-06-05T02:56:35.8109924Z         },
2026-06-05T02:56:35.8110155Z         "impl": {
2026-06-05T02:56:35.8110416Z           "complete": true,
2026-06-05T02:56:35.8110659Z           "evidence": [
2026-06-05T02:56:35.8110896Z             {
2026-06-05T02:56:35.8111245Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-05T02:56:35.8111762Z               "line": 84
2026-06-05T02:56:35.8112005Z             },
2026-06-05T02:56:35.8112363Z             {
2026-06-05T02:56:35.8112718Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-05T02:56:35.8112964Z               "line": 114
2026-06-05T02:56:35.8113201Z             },
2026-06-05T02:56:35.8113426Z             {
2026-06-05T02:56:35.8113779Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-05T02:56:35.8114031Z               "line": 128
2026-06-05T02:56:35.8114260Z             },
2026-06-05T02:56:35.8114497Z             {
2026-06-05T02:56:35.8114830Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T02:56:35.8115086Z               "line": 108
2026-06-05T02:56:35.8115325Z             },
2026-06-05T02:56:35.8115554Z             {
2026-06-05T02:56:35.8115890Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T02:56:35.8116133Z               "line": 129
2026-06-05T02:56:35.8116370Z             },
2026-06-05T02:56:35.8116621Z             {
2026-06-05T02:56:35.8116958Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T02:56:35.8117221Z               "line": 142
2026-06-05T02:56:35.8117455Z             },
2026-06-05T02:56:35.8117689Z             {
2026-06-05T02:56:35.8118022Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T02:56:35.8118277Z               "line": 208
2026-06-05T02:56:35.8118502Z             },
2026-06-05T02:56:35.8118736Z             {
2026-06-05T02:56:35.8119075Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T02:56:35.8119371Z               "line": 234
2026-06-05T02:56:35.8119614Z             },
2026-06-05T02:56:35.8119844Z             {
2026-06-05T02:56:35.8120157Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8120401Z               "line": 1459
2026-06-05T02:56:35.8120641Z             }
2026-06-05T02:56:35.8120876Z           ]
2026-06-05T02:56:35.8121099Z         },
2026-06-05T02:56:35.8121339Z         "int": {
2026-06-05T02:56:35.8121605Z           "complete": false,
2026-06-05T02:56:35.8121864Z           "evidence": []
2026-06-05T02:56:35.8122095Z         },
2026-06-05T02:56:35.8122338Z         "unit": {
2026-06-05T02:56:35.8129143Z           "complete": true,
2026-06-05T02:56:35.8129655Z           "evidence": [
2026-06-05T02:56:35.8129920Z             {
2026-06-05T02:56:35.8130281Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-05T02:56:35.8130541Z               "line": 140
2026-06-05T02:56:35.8130777Z             },
2026-06-05T02:56:35.8131016Z             {
2026-06-05T02:56:35.8131370Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-05T02:56:35.8131618Z               "line": 186
2026-06-05T02:56:35.8131862Z             },
2026-06-05T02:56:35.8132098Z             {
2026-06-05T02:56:35.8132453Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-05T02:56:35.8132700Z               "line": 218
2026-06-05T02:56:35.8132943Z             },
2026-06-05T02:56:35.8133183Z             {
2026-06-05T02:56:35.8133567Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-05T02:56:35.8133835Z               "line": 128
2026-06-05T02:56:35.8134065Z             },
2026-06-05T02:56:35.8134304Z             {
2026-06-05T02:56:35.8134644Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T02:56:35.8134905Z               "line": 248
2026-06-05T02:56:35.8135141Z             },
2026-06-05T02:56:35.8135373Z             {
2026-06-05T02:56:35.8135717Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T02:56:35.8135974Z               "line": 275
2026-06-05T02:56:35.8136217Z             },
2026-06-05T02:56:35.8136445Z             {
2026-06-05T02:56:35.8136792Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T02:56:35.8137053Z               "line": 299
2026-06-05T02:56:35.8137284Z             },
2026-06-05T02:56:35.8137542Z             {
2026-06-05T02:56:35.8137888Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T02:56:35.8138426Z               "line": 310
2026-06-05T02:56:35.8138672Z             },
2026-06-05T02:56:35.8138905Z             {
2026-06-05T02:56:35.8139437Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T02:56:35.8139691Z               "line": 334
2026-06-05T02:56:35.8139937Z             },
2026-06-05T02:56:35.8140168Z             {
2026-06-05T02:56:35.8140517Z               "path": "crates/spt-store/src/access.rs",
2026-06-05T02:56:35.8140776Z               "line": 350
2026-06-05T02:56:35.8141007Z             },
2026-06-05T02:56:35.8141242Z             {
2026-06-05T02:56:35.8141541Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8141799Z               "line": 2610
2026-06-05T02:56:35.8142035Z             }
2026-06-05T02:56:35.8142273Z           ]
2026-06-05T02:56:35.8142512Z         }
2026-06-05T02:56:35.8142745Z       }
2026-06-05T02:56:35.8142978Z     },
2026-06-05T02:56:35.8143205Z     {
2026-06-05T02:56:35.8143473Z       "id": "REQ-SHELL-1",
2026-06-05T02:56:35.8146245Z       "title": "Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)",
2026-06-05T02:56:35.8146543Z       "requiredStages": [
2026-06-05T02:56:35.8146787Z         "impl",
2026-06-05T02:56:35.8147022Z         "unit"
2026-06-05T02:56:35.8147263Z       ],
2026-06-05T02:56:35.8147501Z       "stages": {
2026-06-05T02:56:35.8147744Z         "doc": {
2026-06-05T02:56:35.8148003Z           "complete": false,
2026-06-05T02:56:35.8148263Z           "evidence": []
2026-06-05T02:56:35.8148499Z         },
2026-06-05T02:56:35.8148734Z         "impl": {
2026-06-05T02:56:35.8149001Z           "complete": true,
2026-06-05T02:56:35.8149281Z           "evidence": [
2026-06-05T02:56:35.8149531Z             {
2026-06-05T02:56:35.8149896Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-05T02:56:35.8150168Z               "line": 27
2026-06-05T02:56:35.8150419Z             },
2026-06-05T02:56:35.8150651Z             {
2026-06-05T02:56:35.8151016Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-05T02:56:35.8151264Z               "line": 52
2026-06-05T02:56:35.8151504Z             },
2026-06-05T02:56:35.8151750Z             {
2026-06-05T02:56:35.8152109Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-05T02:56:35.8152376Z               "line": 128
2026-06-05T02:56:35.8152607Z             },
2026-06-05T02:56:35.8152843Z             {
2026-06-05T02:56:35.8153200Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-05T02:56:35.8153458Z               "line": 160
2026-06-05T02:56:35.8153697Z             },
2026-06-05T02:56:35.8153928Z             {
2026-06-05T02:56:35.8154296Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T02:56:35.8154540Z               "line": 22
2026-06-05T02:56:35.8154789Z             },
2026-06-05T02:56:35.8155015Z             {
2026-06-05T02:56:35.8155380Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T02:56:35.8155644Z               "line": 65
2026-06-05T02:56:35.8155873Z             },
2026-06-05T02:56:35.8156114Z             {
2026-06-05T02:56:35.8156468Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T02:56:35.8156723Z               "line": 76
2026-06-05T02:56:35.8156958Z             },
2026-06-05T02:56:35.8157197Z             {
2026-06-05T02:56:35.8157567Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T02:56:35.8157812Z               "line": 145
2026-06-05T02:56:35.8158054Z             },
2026-06-05T02:56:35.8158286Z             {
2026-06-05T02:56:35.8158653Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T02:56:35.8158904Z               "line": 204
2026-06-05T02:56:35.8159151Z             },
2026-06-05T02:56:35.8159443Z             {
2026-06-05T02:56:35.8159968Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T02:56:35.8160227Z               "line": 241
2026-06-05T02:56:35.8160594Z             },
2026-06-05T02:56:35.8160844Z             {
2026-06-05T02:56:35.8161203Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T02:56:35.8161468Z               "line": 262
2026-06-05T02:56:35.8161711Z             },
2026-06-05T02:56:35.8161949Z             {
2026-06-05T02:56:35.8162317Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T02:56:35.8162567Z               "line": 275
2026-06-05T02:56:35.8162812Z             },
2026-06-05T02:56:35.8163043Z             {
2026-06-05T02:56:35.8163390Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.8163648Z               "line": 185
2026-06-05T02:56:35.8163881Z             },
2026-06-05T02:56:35.8164124Z             {
2026-06-05T02:56:35.8164456Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.8164716Z               "line": 201
2026-06-05T02:56:35.8164973Z             },
2026-06-05T02:56:35.8165203Z             {
2026-06-05T02:56:35.8165573Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T02:56:35.8165819Z               "line": 41
2026-06-05T02:56:35.8166061Z             },
2026-06-05T02:56:35.8166292Z             {
2026-06-05T02:56:35.8166656Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T02:56:35.8166913Z               "line": 204
2026-06-05T02:56:35.8167147Z             },
2026-06-05T02:56:35.8167385Z             {
2026-06-05T02:56:35.8167723Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-05T02:56:35.8167985Z               "line": 142
2026-06-05T02:56:35.8168216Z             },
2026-06-05T02:56:35.8168453Z             {
2026-06-05T02:56:35.8168780Z               "path": "crates/spt/src/api/mod.rs",
2026-06-05T02:56:35.8169035Z               "line": 283
2026-06-05T02:56:35.8169324Z             },
2026-06-05T02:56:35.8169560Z             {
2026-06-05T02:56:35.8169898Z               "path": "crates/spt/src/api/mod.rs",
2026-06-05T02:56:35.8170146Z               "line": 314
2026-06-05T02:56:35.8170399Z             },
2026-06-05T02:56:35.8170645Z             {
2026-06-05T02:56:35.8170992Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.8171251Z               "line": 240
2026-06-05T02:56:35.8171482Z             },
2026-06-05T02:56:35.8171725Z             {
2026-06-05T02:56:35.8172025Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8172291Z               "line": 1939
2026-06-05T02:56:35.8172533Z             },
2026-06-05T02:56:35.8172762Z             {
2026-06-05T02:56:35.8173075Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8173319Z               "line": 2074
2026-06-05T02:56:35.8173561Z             },
2026-06-05T02:56:35.8173794Z             {
2026-06-05T02:56:35.8174109Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8174367Z               "line": 2106
2026-06-05T02:56:35.8174611Z             }
2026-06-05T02:56:35.8174851Z           ]
2026-06-05T02:56:35.8175077Z         },
2026-06-05T02:56:35.8175334Z         "int": {
2026-06-05T02:56:35.8175592Z           "complete": true,
2026-06-05T02:56:35.8181327Z           "evidence": [
2026-06-05T02:56:35.8181700Z             {
2026-06-05T02:56:35.8182113Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-05T02:56:35.8182369Z               "line": 8
2026-06-05T02:56:35.8182605Z             },
2026-06-05T02:56:35.8182845Z             {
2026-06-05T02:56:35.8183214Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-05T02:56:35.8183472Z               "line": 46
2026-06-05T02:56:35.8183716Z             },
2026-06-05T02:56:35.8183950Z             {
2026-06-05T02:56:35.8184290Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-05T02:56:35.8184536Z               "line": 14
2026-06-05T02:56:35.8184776Z             }
2026-06-05T02:56:35.8185002Z           ]
2026-06-05T02:56:35.8185239Z         },
2026-06-05T02:56:35.8185744Z         "unit": {
2026-06-05T02:56:35.8186006Z           "complete": true,
2026-06-05T02:56:35.8186431Z           "evidence": [
2026-06-05T02:56:35.8186662Z             {
2026-06-05T02:56:35.8187041Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-05T02:56:35.8187290Z               "line": 227
2026-06-05T02:56:35.8187541Z             },
2026-06-05T02:56:35.8187781Z             {
2026-06-05T02:56:35.8188136Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-05T02:56:35.8188399Z               "line": 254
2026-06-05T02:56:35.8188627Z             },
2026-06-05T02:56:35.8188873Z             {
2026-06-05T02:56:35.8189280Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-05T02:56:35.8189546Z               "line": 278
2026-06-05T02:56:35.8189790Z             },
2026-06-05T02:56:35.8190019Z             {
2026-06-05T02:56:35.8190384Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T02:56:35.8190630Z               "line": 505
2026-06-05T02:56:35.8190886Z             },
2026-06-05T02:56:35.8191121Z             {
2026-06-05T02:56:35.8191488Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T02:56:35.8191750Z               "line": 569
2026-06-05T02:56:35.8191982Z             },
2026-06-05T02:56:35.8192218Z             {
2026-06-05T02:56:35.8192576Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T02:56:35.8192835Z               "line": 698
2026-06-05T02:56:35.8193077Z             },
2026-06-05T02:56:35.8193305Z             {
2026-06-05T02:56:35.8193646Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.8193892Z               "line": 524
2026-06-05T02:56:35.8194130Z             },
2026-06-05T02:56:35.8194357Z             {
2026-06-05T02:56:35.8194721Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-05T02:56:35.8194978Z               "line": 343
2026-06-05T02:56:35.8195208Z             },
2026-06-05T02:56:35.8195445Z             {
2026-06-05T02:56:35.8195756Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8196017Z               "line": 2825
2026-06-05T02:56:35.8196262Z             },
2026-06-05T02:56:35.8196498Z             {
2026-06-05T02:56:35.8196811Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8197058Z               "line": 3072
2026-06-05T02:56:35.8197295Z             },
2026-06-05T02:56:35.8197524Z             {
2026-06-05T02:56:35.8197831Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8198081Z               "line": 3385
2026-06-05T02:56:35.8198319Z             }
2026-06-05T02:56:35.8198558Z           ]
2026-06-05T02:56:35.8198792Z         }
2026-06-05T02:56:35.8199026Z       }
2026-06-05T02:56:35.8199296Z     },
2026-06-05T02:56:35.8199535Z     {
2026-06-05T02:56:35.8199791Z       "id": "REQ-SHELL-2",
2026-06-05T02:56:35.8204424Z       "title": "Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)",
2026-06-05T02:56:35.8204739Z       "requiredStages": [
2026-06-05T02:56:35.8204984Z         "impl",
2026-06-05T02:56:35.8205252Z         "unit",
2026-06-05T02:56:35.8205491Z         "int"
2026-06-05T02:56:35.8205739Z       ],
2026-06-05T02:56:35.8205985Z       "stages": {
2026-06-05T02:56:35.8206365Z         "doc": {
2026-06-05T02:56:35.8206662Z           "complete": false,
2026-06-05T02:56:35.8206931Z           "evidence": []
2026-06-05T02:56:35.8207185Z         },
2026-06-05T02:56:35.8207432Z         "impl": {
2026-06-05T02:56:35.8207710Z           "complete": true,
2026-06-05T02:56:35.8207975Z           "evidence": [
2026-06-05T02:56:35.8208213Z             {
2026-06-05T02:56:35.8208779Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-05T02:56:35.8209040Z               "line": 158
2026-06-05T02:56:35.8209499Z             },
2026-06-05T02:56:35.8209747Z             {
2026-06-05T02:56:35.8210120Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-05T02:56:35.8210391Z               "line": 243
2026-06-05T02:56:35.8210629Z             },
2026-06-05T02:56:35.8210878Z             {
2026-06-05T02:56:35.8211248Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.8211517Z               "line": 291
2026-06-05T02:56:35.8211767Z             },
2026-06-05T02:56:35.8212008Z             {
2026-06-05T02:56:35.8212372Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.8212629Z               "line": 339
2026-06-05T02:56:35.8212877Z             },
2026-06-05T02:56:35.8213114Z             {
2026-06-05T02:56:35.8213489Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-05T02:56:35.8213755Z               "line": 111
2026-06-05T02:56:35.8214021Z             },
2026-06-05T02:56:35.8214276Z             {
2026-06-05T02:56:35.8214652Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T02:56:35.8214919Z               "line": 116
2026-06-05T02:56:35.8215156Z             },
2026-06-05T02:56:35.8215405Z             {
2026-06-05T02:56:35.8215779Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T02:56:35.8216090Z               "line": 348
2026-06-05T02:56:35.8216404Z             },
2026-06-05T02:56:35.8216802Z             {
2026-06-05T02:56:35.8217172Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T02:56:35.8217421Z               "line": 453
2026-06-05T02:56:35.8217661Z             },
2026-06-05T02:56:35.8217898Z             {
2026-06-05T02:56:35.8218246Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T02:56:35.8218502Z               "line": 24
2026-06-05T02:56:35.8218740Z             },
2026-06-05T02:56:35.8218983Z             {
2026-06-05T02:56:35.8219398Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T02:56:35.8219681Z               "line": 72
2026-06-05T02:56:35.8219924Z             },
2026-06-05T02:56:35.8220154Z             {
2026-06-05T02:56:35.8220516Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T02:56:35.8220768Z               "line": 150
2026-06-05T02:56:35.8221011Z             },
2026-06-05T02:56:35.8221244Z             {
2026-06-05T02:56:35.8221602Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T02:56:35.8221859Z               "line": 173
2026-06-05T02:56:35.8222084Z             },
2026-06-05T02:56:35.8222323Z             {
2026-06-05T02:56:35.8222672Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T02:56:35.8222931Z               "line": 266
2026-06-05T02:56:35.8223161Z             },
2026-06-05T02:56:35.8223400Z             {
2026-06-05T02:56:35.8223760Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T02:56:35.8224014Z               "line": 438
2026-06-05T02:56:35.8224268Z             },
2026-06-05T02:56:35.8224519Z             {
2026-06-05T02:56:35.8224887Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T02:56:35.8225142Z               "line": 513
2026-06-05T02:56:35.8225378Z             },
2026-06-05T02:56:35.8225618Z             {
2026-06-05T02:56:35.8225954Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.8226206Z               "line": 298
2026-06-05T02:56:35.8226440Z             },
2026-06-05T02:56:35.8226682Z             {
2026-06-05T02:56:35.8226989Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8227240Z               "line": 864
2026-06-05T02:56:35.8227482Z             },
2026-06-05T02:56:35.8227716Z             {
2026-06-05T02:56:35.8228019Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8228268Z               "line": 1948
2026-06-05T02:56:35.8228514Z             },
2026-06-05T02:56:35.8228756Z             {
2026-06-05T02:56:35.8229276Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8229669Z               "line": 2009
2026-06-05T02:56:35.8229906Z             },
2026-06-05T02:56:35.8230145Z             {
2026-06-05T02:56:35.8230444Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8230703Z               "line": 2037
2026-06-05T02:56:35.8236391Z             },
2026-06-05T02:56:35.8236950Z             {
2026-06-05T02:56:35.8237311Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8237572Z               "line": 2189
2026-06-05T02:56:35.8237819Z             }
2026-06-05T02:56:35.8238051Z           ]
2026-06-05T02:56:35.8238302Z         },
2026-06-05T02:56:35.8238551Z         "int": {
2026-06-05T02:56:35.8238816Z           "complete": true,
2026-06-05T02:56:35.8239079Z           "evidence": [
2026-06-05T02:56:35.8239529Z             {
2026-06-05T02:56:35.8239934Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-05T02:56:35.8240220Z               "line": 18
2026-06-05T02:56:35.8240453Z             }
2026-06-05T02:56:35.8240686Z           ]
2026-06-05T02:56:35.8240925Z         },
2026-06-05T02:56:35.8241165Z         "unit": {
2026-06-05T02:56:35.8241416Z           "complete": true,
2026-06-05T02:56:35.8241668Z           "evidence": [
2026-06-05T02:56:35.8241889Z             {
2026-06-05T02:56:35.8242240Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-05T02:56:35.8242495Z               "line": 687
2026-06-05T02:56:35.8242724Z             },
2026-06-05T02:56:35.8242961Z             {
2026-06-05T02:56:35.8243310Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T02:56:35.8243568Z               "line": 600
2026-06-05T02:56:35.8243796Z             },
2026-06-05T02:56:35.8244029Z             {
2026-06-05T02:56:35.8244383Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T02:56:35.8244630Z               "line": 640
2026-06-05T02:56:35.8244868Z             },
2026-06-05T02:56:35.8245100Z             {
2026-06-05T02:56:35.8245468Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-05T02:56:35.8245718Z               "line": 663
2026-06-05T02:56:35.8245964Z             },
2026-06-05T02:56:35.8246200Z             {
2026-06-05T02:56:35.8246552Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T02:56:35.8246804Z               "line": 569
2026-06-05T02:56:35.8247035Z             },
2026-06-05T02:56:35.8247268Z             {
2026-06-05T02:56:35.8247617Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T02:56:35.8247868Z               "line": 582
2026-06-05T02:56:35.8248100Z             },
2026-06-05T02:56:35.8248320Z             {
2026-06-05T02:56:35.8248672Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T02:56:35.8248921Z               "line": 603
2026-06-05T02:56:35.8249190Z             },
2026-06-05T02:56:35.8249429Z             {
2026-06-05T02:56:35.8249790Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T02:56:35.8250048Z               "line": 648
2026-06-05T02:56:35.8250271Z             },
2026-06-05T02:56:35.8250512Z             {
2026-06-05T02:56:35.8250861Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T02:56:35.8251114Z               "line": 663
2026-06-05T02:56:35.8251348Z             },
2026-06-05T02:56:35.8251571Z             {
2026-06-05T02:56:35.8251932Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T02:56:35.8252175Z               "line": 690
2026-06-05T02:56:35.8252410Z             },
2026-06-05T02:56:35.8252634Z             {
2026-06-05T02:56:35.8252992Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-05T02:56:35.8253246Z               "line": 761
2026-06-05T02:56:35.8253469Z             },
2026-06-05T02:56:35.8253704Z             {
2026-06-05T02:56:35.8254001Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8254258Z               "line": 2550
2026-06-05T02:56:35.8254485Z             },
2026-06-05T02:56:35.8255012Z             {
2026-06-05T02:56:35.8255326Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8255711Z               "line": 2878
2026-06-05T02:56:35.8255952Z             },
2026-06-05T02:56:35.8256180Z             {
2026-06-05T02:56:35.8256488Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8256739Z               "line": 2936
2026-06-05T02:56:35.8256978Z             },
2026-06-05T02:56:35.8257216Z             {
2026-06-05T02:56:35.8257524Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8257777Z               "line": 2962
2026-06-05T02:56:35.8258005Z             }
2026-06-05T02:56:35.8258240Z           ]
2026-06-05T02:56:35.8258464Z         }
2026-06-05T02:56:35.8258697Z       }
2026-06-05T02:56:35.8258927Z     },
2026-06-05T02:56:35.8259147Z     {
2026-06-05T02:56:35.8259447Z       "id": "REQ-START-1",
2026-06-05T02:56:35.8260022Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-05T02:56:35.8260310Z       "requiredStages": [
2026-06-05T02:56:35.8260542Z         "impl",
2026-06-05T02:56:35.8260786Z         "unit"
2026-06-05T02:56:35.8261020Z       ],
2026-06-05T02:56:35.8261251Z       "stages": {
2026-06-05T02:56:35.8261485Z         "doc": {
2026-06-05T02:56:35.8261743Z           "complete": false,
2026-06-05T02:56:35.8261996Z           "evidence": []
2026-06-05T02:56:35.8262219Z         },
2026-06-05T02:56:35.8262472Z         "impl": {
2026-06-05T02:56:35.8262735Z           "complete": true,
2026-06-05T02:56:35.8262977Z           "evidence": [
2026-06-05T02:56:35.8263210Z             {
2026-06-05T02:56:35.8263536Z               "path": "crates/spt-store/src/seed.rs",
2026-06-05T02:56:35.8263789Z               "line": 16
2026-06-05T02:56:35.8264019Z             }
2026-06-05T02:56:35.8264263Z           ]
2026-06-05T02:56:35.8264496Z         },
2026-06-05T02:56:35.8264724Z         "int": {
2026-06-05T02:56:35.8264990Z           "complete": false,
2026-06-05T02:56:35.8265231Z           "evidence": []
2026-06-05T02:56:35.8265481Z         },
2026-06-05T02:56:35.8265709Z         "unit": {
2026-06-05T02:56:35.8265981Z           "complete": true,
2026-06-05T02:56:35.8266235Z           "evidence": [
2026-06-05T02:56:35.8266464Z             {
2026-06-05T02:56:35.8266795Z               "path": "crates/spt-store/src/seed.rs",
2026-06-05T02:56:35.8267034Z               "line": 43
2026-06-05T02:56:35.8267266Z             },
2026-06-05T02:56:35.8267491Z             {
2026-06-05T02:56:35.8267825Z               "path": "crates/spt-store/src/seed.rs",
2026-06-05T02:56:35.8268078Z               "line": 59
2026-06-05T02:56:35.8268302Z             }
2026-06-05T02:56:35.8268540Z           ]
2026-06-05T02:56:35.8268765Z         }
2026-06-05T02:56:35.8269001Z       }
2026-06-05T02:56:35.8269266Z     },
2026-06-05T02:56:35.8269504Z     {
2026-06-05T02:56:35.8269772Z       "id": "REQ-START-2",
2026-06-05T02:56:35.8270182Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-05T02:56:35.8270455Z       "requiredStages": [
2026-06-05T02:56:35.8270694Z         "impl",
2026-06-05T02:56:35.8270931Z         "unit",
2026-06-05T02:56:35.8271167Z         "int"
2026-06-05T02:56:35.8271401Z       ],
2026-06-05T02:56:35.8271642Z       "stages": {
2026-06-05T02:56:35.8271869Z         "doc": {
2026-06-05T02:56:35.8272133Z           "complete": false,
2026-06-05T02:56:35.8272371Z           "evidence": []
2026-06-05T02:56:35.8272606Z         },
2026-06-05T02:56:35.8272839Z         "impl": {
2026-06-05T02:56:35.8273100Z           "complete": true,
2026-06-05T02:56:35.8273351Z           "evidence": [
2026-06-05T02:56:35.8273576Z             {
2026-06-05T02:56:35.8273918Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.8274159Z               "line": 16
2026-06-05T02:56:35.8274396Z             },
2026-06-05T02:56:35.8274619Z             {
2026-06-05T02:56:35.8274954Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.8275202Z               "line": 97
2026-06-05T02:56:35.8275607Z             },
2026-06-05T02:56:35.8275845Z             {
2026-06-05T02:56:35.8276179Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.8276609Z               "line": 203
2026-06-05T02:56:35.8276836Z             }
2026-06-05T02:56:35.8277074Z           ]
2026-06-05T02:56:35.8277306Z         },
2026-06-05T02:56:35.8277532Z         "int": {
2026-06-05T02:56:35.8277798Z           "complete": true,
2026-06-05T02:56:35.8278039Z           "evidence": [
2026-06-05T02:56:35.8278280Z             {
2026-06-05T02:56:35.8278655Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T02:56:35.8278983Z               "line": 150
2026-06-05T02:56:35.8279287Z             }
2026-06-05T02:56:35.8279530Z           ]
2026-06-05T02:56:35.8279766Z         },
2026-06-05T02:56:35.8285407Z         "unit": {
2026-06-05T02:56:35.8285860Z           "complete": true,
2026-06-05T02:56:35.8286127Z           "evidence": [
2026-06-05T02:56:35.8286368Z             {
2026-06-05T02:56:35.8286714Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.8287004Z               "line": 411
2026-06-05T02:56:35.8287260Z             },
2026-06-05T02:56:35.8287489Z             {
2026-06-05T02:56:35.8287831Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.8288074Z               "line": 444
2026-06-05T02:56:35.8288309Z             }
2026-06-05T02:56:35.8288543Z           ]
2026-06-05T02:56:35.8288763Z         }
2026-06-05T02:56:35.8288992Z       }
2026-06-05T02:56:35.8289289Z     },
2026-06-05T02:56:35.8289528Z     {
2026-06-05T02:56:35.8289780Z       "id": "REQ-START-3",
2026-06-05T02:56:35.8290289Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-05T02:56:35.8290562Z       "requiredStages": [
2026-06-05T02:56:35.8290793Z         "impl",
2026-06-05T02:56:35.8291032Z         "unit",
2026-06-05T02:56:35.8291258Z         "int"
2026-06-05T02:56:35.8291495Z       ],
2026-06-05T02:56:35.8291728Z       "stages": {
2026-06-05T02:56:35.8291979Z         "doc": {
2026-06-05T02:56:35.8292247Z           "complete": false,
2026-06-05T02:56:35.8292497Z           "evidence": []
2026-06-05T02:56:35.8292736Z         },
2026-06-05T02:56:35.8292969Z         "impl": {
2026-06-05T02:56:35.8293233Z           "complete": true,
2026-06-05T02:56:35.8293478Z           "evidence": [
2026-06-05T02:56:35.8293714Z             {
2026-06-05T02:56:35.8294062Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-05T02:56:35.8294310Z               "line": 23
2026-06-05T02:56:35.8294546Z             },
2026-06-05T02:56:35.8294770Z             {
2026-06-05T02:56:35.8295114Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-05T02:56:35.8295358Z               "line": 167
2026-06-05T02:56:35.8295599Z             },
2026-06-05T02:56:35.8295839Z             {
2026-06-05T02:56:35.8296176Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-05T02:56:35.8296425Z               "line": 180
2026-06-05T02:56:35.8296652Z             },
2026-06-05T02:56:35.8296892Z             {
2026-06-05T02:56:35.8297211Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.8297471Z               "line": 17
2026-06-05T02:56:35.8297707Z             },
2026-06-05T02:56:35.8297929Z             {
2026-06-05T02:56:35.8298258Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.8298499Z               "line": 43
2026-06-05T02:56:35.8298732Z             },
2026-06-05T02:56:35.8298953Z             {
2026-06-05T02:56:35.8299337Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.8299594Z               "line": 98
2026-06-05T02:56:35.8299817Z             }
2026-06-05T02:56:35.8300050Z           ]
2026-06-05T02:56:35.8300273Z         },
2026-06-05T02:56:35.8300512Z         "int": {
2026-06-05T02:56:35.8300761Z           "complete": true,
2026-06-05T02:56:35.8301010Z           "evidence": [
2026-06-05T02:56:35.8301244Z             {
2026-06-05T02:56:35.8301576Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-05T02:56:35.8302119Z               "line": 321
2026-06-05T02:56:35.8302348Z             }
2026-06-05T02:56:35.8302721Z           ]
2026-06-05T02:56:35.8302947Z         },
2026-06-05T02:56:35.8303190Z         "unit": {
2026-06-05T02:56:35.8303454Z           "complete": true,
2026-06-05T02:56:35.8303697Z           "evidence": [
2026-06-05T02:56:35.8303932Z             {
2026-06-05T02:56:35.8304270Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-05T02:56:35.8304528Z               "line": 245
2026-06-05T02:56:35.8304759Z             },
2026-06-05T02:56:35.8305004Z             {
2026-06-05T02:56:35.8305352Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-05T02:56:35.8305594Z               "line": 263
2026-06-05T02:56:35.8305834Z             },
2026-06-05T02:56:35.8306062Z             {
2026-06-05T02:56:35.8306407Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-05T02:56:35.8306643Z               "line": 273
2026-06-05T02:56:35.8306874Z             },
2026-06-05T02:56:35.8307120Z             {
2026-06-05T02:56:35.8307438Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.8307698Z               "line": 412
2026-06-05T02:56:35.8307920Z             },
2026-06-05T02:56:35.8308152Z             {
2026-06-05T02:56:35.8308472Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.8308721Z               "line": 445
2026-06-05T02:56:35.8308958Z             },
2026-06-05T02:56:35.8309228Z             {
2026-06-05T02:56:35.8309564Z               "path": "crates/spt/src/api/startup.rs",
2026-06-05T02:56:35.8309804Z               "line": 453
2026-06-05T02:56:35.8310043Z             }
2026-06-05T02:56:35.8310276Z           ]
2026-06-05T02:56:35.8310504Z         }
2026-06-05T02:56:35.8310736Z       }
2026-06-05T02:56:35.8310959Z     },
2026-06-05T02:56:35.8311189Z     {
2026-06-05T02:56:35.8311439Z       "id": "REQ-START-4",
2026-06-05T02:56:35.8311845Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-05T02:56:35.8312113Z       "requiredStages": [
2026-06-05T02:56:35.8312352Z         "impl",
2026-06-05T02:56:35.8312606Z         "unit"
2026-06-05T02:56:35.8312835Z       ],
2026-06-05T02:56:35.8313075Z       "stages": {
2026-06-05T02:56:35.8313303Z         "doc": {
2026-06-05T02:56:35.8313563Z           "complete": false,
2026-06-05T02:56:35.8313804Z           "evidence": []
2026-06-05T02:56:35.8314040Z         },
2026-06-05T02:56:35.8314281Z         "impl": {
2026-06-05T02:56:35.8314536Z           "complete": true,
2026-06-05T02:56:35.8314789Z           "evidence": [
2026-06-05T02:56:35.8315019Z             {
2026-06-05T02:56:35.8315367Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.8315610Z               "line": 363
2026-06-05T02:56:35.8315842Z             }
2026-06-05T02:56:35.8316075Z           ]
2026-06-05T02:56:35.8316300Z         },
2026-06-05T02:56:35.8316536Z         "int": {
2026-06-05T02:56:35.8316800Z           "complete": false,
2026-06-05T02:56:35.8317062Z           "evidence": []
2026-06-05T02:56:35.8317292Z         },
2026-06-05T02:56:35.8317531Z         "unit": {
2026-06-05T02:56:35.8317795Z           "complete": true,
2026-06-05T02:56:35.8318039Z           "evidence": [
2026-06-05T02:56:35.8318270Z             {
2026-06-05T02:56:35.8318604Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-05T02:56:35.8318856Z               "line": 594
2026-06-05T02:56:35.8319082Z             }
2026-06-05T02:56:35.8319357Z           ]
2026-06-05T02:56:35.8319593Z         }
2026-06-05T02:56:35.8319817Z       }
2026-06-05T02:56:35.8320047Z     },
2026-06-05T02:56:35.8320270Z     {
2026-06-05T02:56:35.8320534Z       "id": "REQ-STORE-1",
2026-06-05T02:56:35.8323313Z       "title": "spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)",
2026-06-05T02:56:35.8323732Z       "requiredStages": [
2026-06-05T02:56:35.8323977Z         "impl",
2026-06-05T02:56:35.8324340Z         "unit"
2026-06-05T02:56:35.8324587Z       ],
2026-06-05T02:56:35.8324834Z       "stages": {
2026-06-05T02:56:35.8325070Z         "doc": {
2026-06-05T02:56:35.8325336Z           "complete": false,
2026-06-05T02:56:35.8325581Z           "evidence": []
2026-06-05T02:56:35.8325815Z         },
2026-06-05T02:56:35.8326047Z         "impl": {
2026-06-05T02:56:35.8326309Z           "complete": true,
2026-06-05T02:56:35.8326555Z           "evidence": [
2026-06-05T02:56:35.8326783Z             {
2026-06-05T02:56:35.8327156Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.8327401Z               "line": 23
2026-06-05T02:56:35.8327632Z             },
2026-06-05T02:56:35.8327866Z             {
2026-06-05T02:56:35.8328242Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.8328490Z               "line": 46
2026-06-05T02:56:35.8328726Z             },
2026-06-05T02:56:35.8328962Z             {
2026-06-05T02:56:35.8329369Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.8329628Z               "line": 88
2026-06-05T02:56:35.8329859Z             },
2026-06-05T02:56:35.8330094Z             {
2026-06-05T02:56:35.8335672Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.8336259Z               "line": 109
2026-06-05T02:56:35.8336829Z             },
2026-06-05T02:56:35.8337362Z             {
2026-06-05T02:56:35.8337780Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.8338042Z               "line": 152
2026-06-05T02:56:35.8338426Z             },
2026-06-05T02:56:35.8338658Z             {
2026-06-05T02:56:35.8339027Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.8339376Z               "line": 165
2026-06-05T02:56:35.8339622Z             },
2026-06-05T02:56:35.8339859Z             {
2026-06-05T02:56:35.8340246Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.8340499Z               "line": 353
2026-06-05T02:56:35.8340744Z             },
2026-06-05T02:56:35.8340973Z             {
2026-06-05T02:56:35.8341342Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.8341584Z               "line": 25
2026-06-05T02:56:35.8341818Z             },
2026-06-05T02:56:35.8342042Z             {
2026-06-05T02:56:35.8342415Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.8342667Z               "line": 101
2026-06-05T02:56:35.8342892Z             },
2026-06-05T02:56:35.8343125Z             {
2026-06-05T02:56:35.8343493Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.8343750Z               "line": 126
2026-06-05T02:56:35.8343986Z             },
2026-06-05T02:56:35.8344214Z             {
2026-06-05T02:56:35.8344582Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.8344834Z               "line": 140
2026-06-05T02:56:35.8345068Z             },
2026-06-05T02:56:35.8345303Z             {
2026-06-05T02:56:35.8345683Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.8345933Z               "line": 154
2026-06-05T02:56:35.8346158Z             },
2026-06-05T02:56:35.8346388Z             {
2026-06-05T02:56:35.8346747Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.8347000Z               "line": 163
2026-06-05T02:56:35.8347229Z             },
2026-06-05T02:56:35.8347463Z             {
2026-06-05T02:56:35.8347809Z               "path": "crates/spt-store/src/project.rs",
2026-06-05T02:56:35.8348055Z               "line": 16
2026-06-05T02:56:35.8348288Z             },
2026-06-05T02:56:35.8348511Z             {
2026-06-05T02:56:35.8348856Z               "path": "crates/spt-store/src/project.rs",
2026-06-05T02:56:35.8349100Z               "line": 63
2026-06-05T02:56:35.8349375Z             }
2026-06-05T02:56:35.8349876Z           ]
2026-06-05T02:56:35.8350102Z         },
2026-06-05T02:56:35.8350339Z         "int": {
2026-06-05T02:56:35.8350724Z           "complete": false,
2026-06-05T02:56:35.8350983Z           "evidence": []
2026-06-05T02:56:35.8351213Z         },
2026-06-05T02:56:35.8351455Z         "unit": {
2026-06-05T02:56:35.8351722Z           "complete": true,
2026-06-05T02:56:35.8351964Z           "evidence": [
2026-06-05T02:56:35.8352198Z             {
2026-06-05T02:56:35.8352557Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.8352808Z               "line": 468
2026-06-05T02:56:35.8353036Z             },
2026-06-05T02:56:35.8353269Z             {
2026-06-05T02:56:35.8353631Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.8353875Z               "line": 478
2026-06-05T02:56:35.8354112Z             },
2026-06-05T02:56:35.8354333Z             {
2026-06-05T02:56:35.8354699Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.8354957Z               "line": 498
2026-06-05T02:56:35.8355195Z             },
2026-06-05T02:56:35.8355440Z             {
2026-06-05T02:56:35.8355799Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.8356053Z               "line": 514
2026-06-05T02:56:35.8356280Z             },
2026-06-05T02:56:35.8356517Z             {
2026-06-05T02:56:35.8356873Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-05T02:56:35.8357126Z               "line": 535
2026-06-05T02:56:35.8357362Z             },
2026-06-05T02:56:35.8357589Z             {
2026-06-05T02:56:35.8357962Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.8358204Z               "line": 427
2026-06-05T02:56:35.8358445Z             },
2026-06-05T02:56:35.8358668Z             {
2026-06-05T02:56:35.8359041Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-05T02:56:35.8359334Z               "line": 457
2026-06-05T02:56:35.8359571Z             },
2026-06-05T02:56:35.8359811Z             {
2026-06-05T02:56:35.8360149Z               "path": "crates/spt-store/src/project.rs",
2026-06-05T02:56:35.8360409Z               "line": 116
2026-06-05T02:56:35.8360645Z             },
2026-06-05T02:56:35.8360873Z             {
2026-06-05T02:56:35.8361220Z               "path": "crates/spt-store/src/project.rs",
2026-06-05T02:56:35.8361464Z               "line": 124
2026-06-05T02:56:35.8361695Z             }
2026-06-05T02:56:35.8361919Z           ]
2026-06-05T02:56:35.8362151Z         }
2026-06-05T02:56:35.8362384Z       }
2026-06-05T02:56:35.8362609Z     },
2026-06-05T02:56:35.8362837Z     {
2026-06-05T02:56:35.8363089Z       "id": "REQ-TERM-1",
2026-06-05T02:56:35.8363603Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-05T02:56:35.8363864Z       "requiredStages": [
2026-06-05T02:56:35.8364106Z         "impl",
2026-06-05T02:56:35.8364343Z         "unit"
2026-06-05T02:56:35.8364575Z       ],
2026-06-05T02:56:35.8364816Z       "stages": {
2026-06-05T02:56:35.8365056Z         "doc": {
2026-06-05T02:56:35.8365317Z           "complete": false,
2026-06-05T02:56:35.8365562Z           "evidence": []
2026-06-05T02:56:35.8365794Z         },
2026-06-05T02:56:35.8366031Z         "impl": {
2026-06-05T02:56:35.8366293Z           "complete": true,
2026-06-05T02:56:35.8366541Z           "evidence": [
2026-06-05T02:56:35.8366766Z             {
2026-06-05T02:56:35.8367103Z               "path": "crates/spt-term/src/pty.rs",
2026-06-05T02:56:35.8367345Z               "line": 61
2026-06-05T02:56:35.8367581Z             },
2026-06-05T02:56:35.8367815Z             {
2026-06-05T02:56:35.8368124Z               "path": "crates/spt-term/src/pty.rs",
2026-06-05T02:56:35.8368373Z               "line": 169
2026-06-05T02:56:35.8368597Z             },
2026-06-05T02:56:35.8368831Z             {
2026-06-05T02:56:35.8369206Z               "path": "crates/spt-term/src/surface.rs",
2026-06-05T02:56:35.8369461Z               "line": 95
2026-06-05T02:56:35.8369695Z             }
2026-06-05T02:56:35.8370245Z           ]
2026-06-05T02:56:35.8370491Z         },
2026-06-05T02:56:35.8370860Z         "int": {
2026-06-05T02:56:35.8371126Z           "complete": false,
2026-06-05T02:56:35.8371366Z           "evidence": []
2026-06-05T02:56:35.8371597Z         },
2026-06-05T02:56:35.8371839Z         "unit": {
2026-06-05T02:56:35.8372092Z           "complete": true,
2026-06-05T02:56:35.8372339Z           "evidence": [
2026-06-05T02:56:35.8372568Z             {
2026-06-05T02:56:35.8372921Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-05T02:56:35.8373162Z               "line": 28
2026-06-05T02:56:35.8373399Z             },
2026-06-05T02:56:35.8373635Z             {
2026-06-05T02:56:35.8373972Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-05T02:56:35.8374223Z               "line": 60
2026-06-05T02:56:35.8374445Z             }
2026-06-05T02:56:35.8374678Z           ]
2026-06-05T02:56:35.8374899Z         }
2026-06-05T02:56:35.8375134Z       }
2026-06-05T02:56:35.8375379Z     },
2026-06-05T02:56:35.8375597Z     {
2026-06-05T02:56:35.8375855Z       "id": "REQ-TERM-2",
2026-06-05T02:56:35.8376418Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-05T02:56:35.8376682Z       "requiredStages": [
2026-06-05T02:56:35.8376915Z         "impl",
2026-06-05T02:56:35.8377152Z         "unit"
2026-06-05T02:56:35.8377385Z       ],
2026-06-05T02:56:35.8377621Z       "stages": {
2026-06-05T02:56:35.8377857Z         "doc": {
2026-06-05T02:56:35.8378115Z           "complete": false,
2026-06-05T02:56:35.8378375Z           "evidence": []
2026-06-05T02:56:35.8378600Z         },
2026-06-05T02:56:35.8378837Z         "impl": {
2026-06-05T02:56:35.8379091Z           "complete": true,
2026-06-05T02:56:35.8379397Z           "evidence": [
2026-06-05T02:56:35.8379639Z             {
2026-06-05T02:56:35.8379976Z               "path": "crates/spt-term/src/surface.rs",
2026-06-05T02:56:35.8380228Z               "line": 112
2026-06-05T02:56:35.8386223Z             },
2026-06-05T02:56:35.8386923Z             {
2026-06-05T02:56:35.8387330Z               "path": "crates/spt-term/src/surface.rs",
2026-06-05T02:56:35.8387611Z               "line": 122
2026-06-05T02:56:35.8387859Z             }
2026-06-05T02:56:35.8388097Z           ]
2026-06-05T02:56:35.8388339Z         },
2026-06-05T02:56:35.8388583Z         "int": {
2026-06-05T02:56:35.8388881Z           "complete": false,
2026-06-05T02:56:35.8389272Z           "evidence": []
2026-06-05T02:56:35.8389683Z         },
2026-06-05T02:56:35.8390091Z         "unit": {
2026-06-05T02:56:35.8390350Z           "complete": true,
2026-06-05T02:56:35.8390618Z           "evidence": [
2026-06-05T02:56:35.8390851Z             {
2026-06-05T02:56:35.8391236Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-05T02:56:35.8391502Z               "line": 46
2026-06-05T02:56:35.8391745Z             },
2026-06-05T02:56:35.8391994Z             {
2026-06-05T02:56:35.8392356Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-05T02:56:35.8392632Z               "line": 71
2026-06-05T02:56:35.8392877Z             }
2026-06-05T02:56:35.8393136Z           ]
2026-06-05T02:56:35.8393395Z         }
2026-06-05T02:56:35.8393638Z       }
2026-06-05T02:56:35.8393885Z     },
2026-06-05T02:56:35.8394118Z     {
2026-06-05T02:56:35.8394396Z       "id": "REQ-TERM-3",
2026-06-05T02:56:35.8394827Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-05T02:56:35.8395117Z       "requiredStages": [
2026-06-05T02:56:35.8395380Z         "impl",
2026-06-05T02:56:35.8395629Z         "unit"
2026-06-05T02:56:35.8395882Z       ],
2026-06-05T02:56:35.8396132Z       "stages": {
2026-06-05T02:56:35.8396394Z         "doc": {
2026-06-05T02:56:35.8396674Z           "complete": false,
2026-06-05T02:56:35.8397050Z           "evidence": []
2026-06-05T02:56:35.8397287Z         },
2026-06-05T02:56:35.8397555Z         "impl": {
2026-06-05T02:56:35.8397845Z           "complete": true,
2026-06-05T02:56:35.8398105Z           "evidence": [
2026-06-05T02:56:35.8398833Z             {
2026-06-05T02:56:35.8399344Z               "path": "crates/spt-term/src/stream.rs",
2026-06-05T02:56:35.8399986Z               "line": 71
2026-06-05T02:56:35.8400248Z             }
2026-06-05T02:56:35.8400514Z           ]
2026-06-05T02:56:35.8400765Z         },
2026-06-05T02:56:35.8401021Z         "int": {
2026-06-05T02:56:35.8401316Z           "complete": false,
2026-06-05T02:56:35.8401592Z           "evidence": []
2026-06-05T02:56:35.8401847Z         },
2026-06-05T02:56:35.8402104Z         "unit": {
2026-06-05T02:56:35.8402391Z           "complete": true,
2026-06-05T02:56:35.8402676Z           "evidence": [
2026-06-05T02:56:35.8402925Z             {
2026-06-05T02:56:35.8403329Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-05T02:56:35.8403630Z               "line": 37
2026-06-05T02:56:35.8403932Z             },
2026-06-05T02:56:35.8404217Z             {
2026-06-05T02:56:35.8404634Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-05T02:56:35.8404955Z               "line": 67
2026-06-05T02:56:35.8405211Z             }
2026-06-05T02:56:35.8405488Z           ]
2026-06-05T02:56:35.8405744Z         }
2026-06-05T02:56:35.8406017Z       }
2026-06-05T02:56:35.8406262Z     },
2026-06-05T02:56:35.8406538Z     {
2026-06-05T02:56:35.8406826Z       "id": "REQ-TERM-4",
2026-06-05T02:56:35.8408043Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-05T02:56:35.8408361Z       "requiredStages": [
2026-06-05T02:56:35.8408620Z         "impl",
2026-06-05T02:56:35.8408882Z         "unit",
2026-06-05T02:56:35.8409143Z         "int"
2026-06-05T02:56:35.8409611Z       ],
2026-06-05T02:56:35.8409876Z       "stages": {
2026-06-05T02:56:35.8410114Z         "doc": {
2026-06-05T02:56:35.8410401Z           "complete": true,
2026-06-05T02:56:35.8410660Z           "evidence": [
2026-06-05T02:56:35.8410914Z             {
2026-06-05T02:56:35.8411215Z               "path": "docs/MANIFEST.md",
2026-06-05T02:56:35.8411486Z               "line": 115
2026-06-05T02:56:35.8411732Z             }
2026-06-05T02:56:35.8411979Z           ]
2026-06-05T02:56:35.8412226Z         },
2026-06-05T02:56:35.8412476Z         "impl": {
2026-06-05T02:56:35.8412751Z           "complete": true,
2026-06-05T02:56:35.8413007Z           "evidence": [
2026-06-05T02:56:35.8413243Z             {
2026-06-05T02:56:35.8413616Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-05T02:56:35.8413874Z               "line": 463
2026-06-05T02:56:35.8414120Z             },
2026-06-05T02:56:35.8414358Z             {
2026-06-05T02:56:35.8414748Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T02:56:35.8415013Z               "line": 41
2026-06-05T02:56:35.8415247Z             },
2026-06-05T02:56:35.8415492Z             {
2026-06-05T02:56:35.8415856Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T02:56:35.8416116Z               "line": 91
2026-06-05T02:56:35.8416353Z             },
2026-06-05T02:56:35.8416618Z             {
2026-06-05T02:56:35.8416979Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T02:56:35.8417246Z               "line": 152
2026-06-05T02:56:35.8417494Z             },
2026-06-05T02:56:35.8417726Z             {
2026-06-05T02:56:35.8418090Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T02:56:35.8418351Z               "line": 212
2026-06-05T02:56:35.8418604Z             },
2026-06-05T02:56:35.8418847Z             {
2026-06-05T02:56:35.8419432Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-05T02:56:35.8419734Z               "line": 20
2026-06-05T02:56:35.8420128Z             },
2026-06-05T02:56:35.8420371Z             {
2026-06-05T02:56:35.8420732Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-05T02:56:35.8420994Z               "line": 212
2026-06-05T02:56:35.8421245Z             },
2026-06-05T02:56:35.8421479Z             {
2026-06-05T02:56:35.8421855Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-05T02:56:35.8422420Z               "line": 226
2026-06-05T02:56:35.8422833Z             },
2026-06-05T02:56:35.8423078Z             {
2026-06-05T02:56:35.8423460Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T02:56:35.8423722Z               "line": 585
2026-06-05T02:56:35.8423956Z             },
2026-06-05T02:56:35.8424198Z             {
2026-06-05T02:56:35.8424544Z               "path": "crates/spt-term/src/digest.rs",
2026-06-05T02:56:35.8424809Z               "line": 157
2026-06-05T02:56:35.8425088Z             },
2026-06-05T02:56:35.8425347Z             {
2026-06-05T02:56:35.8425702Z               "path": "crates/spt-term/src/digest.rs",
2026-06-05T02:56:35.8425980Z               "line": 199
2026-06-05T02:56:35.8426238Z             },
2026-06-05T02:56:35.8426487Z             {
2026-06-05T02:56:35.8426861Z               "path": "crates/spt-term/src/digest.rs",
2026-06-05T02:56:35.8427108Z               "line": 226
2026-06-05T02:56:35.8427369Z             },
2026-06-05T02:56:35.8427607Z             {
2026-06-05T02:56:35.8427905Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8428179Z               "line": 517
2026-06-05T02:56:35.8428407Z             }
2026-06-05T02:56:35.8428656Z           ]
2026-06-05T02:56:35.8428897Z         },
2026-06-05T02:56:35.8429217Z         "int": {
2026-06-05T02:56:35.8429690Z           "complete": true,
2026-06-05T02:56:35.8430102Z           "evidence": [
2026-06-05T02:56:35.8430355Z             {
2026-06-05T02:56:35.8430718Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-05T02:56:35.8430993Z               "line": 18
2026-06-05T02:56:35.8431252Z             }
2026-06-05T02:56:35.8431497Z           ]
2026-06-05T02:56:35.8431744Z         },
2026-06-05T02:56:35.8431992Z         "unit": {
2026-06-05T02:56:35.8432261Z           "complete": true,
2026-06-05T02:56:35.8432526Z           "evidence": [
2026-06-05T02:56:35.8432776Z             {
2026-06-05T02:56:35.8433160Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T02:56:35.8433480Z               "line": 250
2026-06-05T02:56:35.8433779Z             },
2026-06-05T02:56:35.8434033Z             {
2026-06-05T02:56:35.8434413Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T02:56:35.8434689Z               "line": 263
2026-06-05T02:56:35.8434957Z             },
2026-06-05T02:56:35.8442722Z             {
2026-06-05T02:56:35.8443468Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T02:56:35.8443769Z               "line": 275
2026-06-05T02:56:35.8444030Z             },
2026-06-05T02:56:35.8444297Z             {
2026-06-05T02:56:35.8444685Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T02:56:35.8444981Z               "line": 290
2026-06-05T02:56:35.8445254Z             },
2026-06-05T02:56:35.8445511Z             {
2026-06-05T02:56:35.8445906Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T02:56:35.8446183Z               "line": 305
2026-06-05T02:56:35.8446494Z             },
2026-06-05T02:56:35.8446757Z             {
2026-06-05T02:56:35.8447156Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T02:56:35.8447464Z               "line": 327
2026-06-05T02:56:35.8447726Z             },
2026-06-05T02:56:35.8447994Z             {
2026-06-05T02:56:35.8448377Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T02:56:35.8448673Z               "line": 337
2026-06-05T02:56:35.8448937Z             },
2026-06-05T02:56:35.8449285Z             {
2026-06-05T02:56:35.8449838Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-05T02:56:35.8450109Z               "line": 364
2026-06-05T02:56:35.8450376Z             },
2026-06-05T02:56:35.8450631Z             {
2026-06-05T02:56:35.8451037Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-05T02:56:35.8451315Z               "line": 338
2026-06-05T02:56:35.8451595Z             },
2026-06-05T02:56:35.8451867Z             {
2026-06-05T02:56:35.8452256Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-05T02:56:35.8453012Z               "line": 350
2026-06-05T02:56:35.8453427Z             },
2026-06-05T02:56:35.8453702Z             {
2026-06-05T02:56:35.8454079Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-05T02:56:35.8454369Z               "line": 367
2026-06-05T02:56:35.8454630Z             },
2026-06-05T02:56:35.8454876Z             {
2026-06-05T02:56:35.8455262Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-05T02:56:35.8455529Z               "line": 378
2026-06-05T02:56:35.8455785Z             },
2026-06-05T02:56:35.8456028Z             {
2026-06-05T02:56:35.8456421Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T02:56:35.8456702Z               "line": 770
2026-06-05T02:56:35.8456949Z             },
2026-06-05T02:56:35.8457207Z             {
2026-06-05T02:56:35.8457586Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T02:56:35.8457876Z               "line": 777
2026-06-05T02:56:35.8458146Z             },
2026-06-05T02:56:35.8458399Z             {
2026-06-05T02:56:35.8458799Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T02:56:35.8459075Z               "line": 792
2026-06-05T02:56:35.8459583Z             },
2026-06-05T02:56:35.8460007Z             {
2026-06-05T02:56:35.8460369Z               "path": "crates/spt-term/src/digest.rs",
2026-06-05T02:56:35.8460643Z               "line": 381
2026-06-05T02:56:35.8460889Z             },
2026-06-05T02:56:35.8461149Z             {
2026-06-05T02:56:35.8461498Z               "path": "crates/spt-term/src/digest.rs",
2026-06-05T02:56:35.8461783Z               "line": 402
2026-06-05T02:56:35.8462024Z             },
2026-06-05T02:56:35.8462277Z             {
2026-06-05T02:56:35.8462651Z               "path": "crates/spt-term/src/digest.rs",
2026-06-05T02:56:35.8462929Z               "line": 415
2026-06-05T02:56:35.8463191Z             },
2026-06-05T02:56:35.8463438Z             {
2026-06-05T02:56:35.8463810Z               "path": "crates/spt-term/src/digest.rs",
2026-06-05T02:56:35.8464087Z               "line": 434
2026-06-05T02:56:35.8464357Z             },
2026-06-05T02:56:35.8464607Z             {
2026-06-05T02:56:35.8464961Z               "path": "crates/spt-term/src/digest.rs",
2026-06-05T02:56:35.8465232Z               "line": 461
2026-06-05T02:56:35.8465487Z             },
2026-06-05T02:56:35.8465753Z             {
2026-06-05T02:56:35.8466130Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-05T02:56:35.8466417Z               "line": 32
2026-06-05T02:56:35.8466695Z             },
2026-06-05T02:56:35.8466946Z             {
2026-06-05T02:56:35.8467274Z               "path": "crates/spt/src/cli.rs",
2026-06-05T02:56:35.8467536Z               "line": 3460
2026-06-05T02:56:35.8467790Z             }
2026-06-05T02:56:35.8468032Z           ]
2026-06-05T02:56:35.8468290Z         }
2026-06-05T02:56:35.8468557Z       }
2026-06-05T02:56:35.8468816Z     },
2026-06-05T02:56:35.8469079Z     {
2026-06-05T02:56:35.8469602Z       "id": "REQ-UPD-1",
2026-06-05T02:56:35.8470004Z       "title": "Peer-propagated update over P2P",
2026-06-05T02:56:35.8470325Z       "requiredStages": [
2026-06-05T02:56:35.8471034Z         "impl",
2026-06-05T02:56:35.8471340Z         "unit",
2026-06-05T02:56:35.8471614Z         "int"
2026-06-05T02:56:35.8471913Z       ],
2026-06-05T02:56:35.8472203Z       "stages": {
2026-06-05T02:56:35.8472503Z         "doc": {
2026-06-05T02:56:35.8472812Z           "complete": false,
2026-06-05T02:56:35.8473115Z           "evidence": []
2026-06-05T02:56:35.8473391Z         },
2026-06-05T02:56:35.8473671Z         "impl": {
2026-06-05T02:56:35.8473991Z           "complete": true,
2026-06-05T02:56:35.8474301Z           "evidence": [
2026-06-05T02:56:35.8474635Z             {
2026-06-05T02:56:35.8475122Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-05T02:56:35.8475496Z               "line": 28
2026-06-05T02:56:35.8475827Z             },
2026-06-05T02:56:35.8476140Z             {
2026-06-05T02:56:35.8477009Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-05T02:56:35.8477490Z               "line": 74
2026-06-05T02:56:35.8477787Z             },
2026-06-05T02:56:35.8478067Z             {
2026-06-05T02:56:35.8478496Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-05T02:56:35.8478794Z               "line": 209
2026-06-05T02:56:35.8479067Z             },
2026-06-05T02:56:35.8479453Z             {
2026-06-05T02:56:35.8479897Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-05T02:56:35.8480238Z               "line": 22
2026-06-05T02:56:35.8480570Z             },
2026-06-05T02:56:35.8480918Z             {
2026-06-05T02:56:35.8481520Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-05T02:56:35.8481798Z               "line": 67
2026-06-05T02:56:35.8482063Z             },
2026-06-05T02:56:35.8482321Z             {
2026-06-05T02:56:35.8482716Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-05T02:56:35.8483010Z               "line": 80
2026-06-05T02:56:35.8483290Z             },
2026-06-05T02:56:35.8484020Z             {
2026-06-05T02:56:35.8484454Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-05T02:56:35.8484751Z               "line": 101
2026-06-05T02:56:35.8485015Z             },
2026-06-05T02:56:35.8485285Z             {
2026-06-05T02:56:35.8485675Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-05T02:56:35.8485970Z               "line": 37
2026-06-05T02:56:35.8486232Z             }
2026-06-05T02:56:35.8486494Z           ]
2026-06-05T02:56:35.8486765Z         },
2026-06-05T02:56:35.8487034Z         "int": {
2026-06-05T02:56:35.8487330Z           "complete": true,
2026-06-05T02:56:35.8487612Z           "evidence": [
2026-06-05T02:56:35.8487909Z             {
2026-06-05T02:56:35.8488332Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-05T02:56:35.8488624Z               "line": 190
2026-06-05T02:56:35.8488908Z             },
2026-06-05T02:56:35.8489261Z             {
2026-06-05T02:56:35.8489692Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-05T02:56:35.8490145Z               "line": 732
2026-06-05T02:56:35.8490404Z             }
2026-06-05T02:56:35.8490666Z           ]
2026-06-05T02:56:35.8490926Z         },
2026-06-05T02:56:35.8491203Z         "unit": {
2026-06-05T02:56:35.8491507Z           "complete": true,
2026-06-05T02:56:35.8491813Z           "evidence": [
2026-06-05T02:56:35.8492076Z             {
2026-06-05T02:56:35.8492486Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-05T02:56:35.8492781Z               "line": 120
2026-06-05T02:56:35.8493048Z             },
2026-06-05T02:56:35.8493327Z             {
2026-06-05T02:56:35.8493707Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-05T02:56:35.8494001Z               "line": 137
2026-06-05T02:56:35.8494270Z             },
2026-06-05T02:56:35.8494521Z             {
2026-06-05T02:56:35.8494940Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-05T02:56:35.8495230Z               "line": 201
2026-06-05T02:56:35.8495506Z             },
2026-06-05T02:56:35.8503250Z             {
2026-06-05T02:56:35.8503937Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-05T02:56:35.8504234Z               "line": 92
2026-06-05T02:56:35.8504489Z             },
2026-06-05T02:56:35.8504748Z             {
2026-06-05T02:56:35.8505122Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-05T02:56:35.8505396Z               "line": 128
2026-06-05T02:56:35.8505644Z             }
2026-06-05T02:56:35.8505902Z           ]
2026-06-05T02:56:35.8506159Z         }
2026-06-05T02:56:35.8506407Z       }
2026-06-05T02:56:35.8506659Z     },
2026-06-05T02:56:35.8506902Z     {
2026-06-05T02:56:35.8507187Z       "id": "REQ-UPD-2",
2026-06-05T02:56:35.8507643Z       "title": "All binaries signature-verified before handoff",
2026-06-05T02:56:35.8507936Z       "requiredStages": [
2026-06-05T02:56:35.8508196Z         "impl",
2026-06-05T02:56:35.8509022Z         "unit"
2026-06-05T02:56:35.8509373Z       ],
2026-06-05T02:56:35.8509654Z       "stages": {
2026-06-05T02:56:35.8510126Z         "doc": {
2026-06-05T02:56:35.8510424Z           "complete": false,
2026-06-05T02:56:35.8510707Z           "evidence": []
2026-06-05T02:56:35.8510969Z         },
2026-06-05T02:56:35.8511239Z         "impl": {
2026-06-05T02:56:35.8511530Z           "complete": true,
2026-06-05T02:56:35.8511804Z           "evidence": [
2026-06-05T02:56:35.8512063Z             {
2026-06-05T02:56:35.8512455Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-05T02:56:35.8512733Z               "line": 210
2026-06-05T02:56:35.8512986Z             },
2026-06-05T02:56:35.8513241Z             {
2026-06-05T02:56:35.8513788Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-05T02:56:35.8514050Z               "line": 294
2026-06-05T02:56:35.8514300Z             },
2026-06-05T02:56:35.8514535Z             {
2026-06-05T02:56:35.8514903Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T02:56:35.8515203Z               "line": 29
2026-06-05T02:56:35.8515456Z             },
2026-06-05T02:56:35.8515701Z             {
2026-06-05T02:56:35.8516059Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T02:56:35.8516333Z               "line": 126
2026-06-05T02:56:35.8516571Z             },
2026-06-05T02:56:35.8516824Z             {
2026-06-05T02:56:35.8517189Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T02:56:35.8517455Z               "line": 138
2026-06-05T02:56:35.8517709Z             },
2026-06-05T02:56:35.8517952Z             {
2026-06-05T02:56:35.8518334Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T02:56:35.8518593Z               "line": 220
2026-06-05T02:56:35.8518852Z             },
2026-06-05T02:56:35.8519104Z             {
2026-06-05T02:56:35.8519851Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T02:56:35.8520148Z               "line": 301
2026-06-05T02:56:35.8520409Z             },
2026-06-05T02:56:35.8520672Z             {
2026-06-05T02:56:35.8521046Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T02:56:35.8521328Z               "line": 149
2026-06-05T02:56:35.8521582Z             }
2026-06-05T02:56:35.8521817Z           ]
2026-06-05T02:56:35.8522071Z         },
2026-06-05T02:56:35.8522312Z         "int": {
2026-06-05T02:56:35.8522594Z           "complete": false,
2026-06-05T02:56:35.8522860Z           "evidence": []
2026-06-05T02:56:35.8523114Z         },
2026-06-05T02:56:35.8523371Z         "unit": {
2026-06-05T02:56:35.8523641Z           "complete": true,
2026-06-05T02:56:35.8523912Z           "evidence": [
2026-06-05T02:56:35.8524151Z             {
2026-06-05T02:56:35.8524526Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T02:56:35.8524789Z               "line": 386
2026-06-05T02:56:35.8525055Z             },
2026-06-05T02:56:35.8525329Z             {
2026-06-05T02:56:35.8525718Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T02:56:35.8526220Z               "line": 431
2026-06-05T02:56:35.8526530Z             },
2026-06-05T02:56:35.8526865Z             {
2026-06-05T02:56:35.8527332Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T02:56:35.8527695Z               "line": 445
2026-06-05T02:56:35.8527992Z             },
2026-06-05T02:56:35.8528261Z             {
2026-06-05T02:56:35.8528651Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T02:56:35.8528951Z               "line": 456
2026-06-05T02:56:35.8529322Z             },
2026-06-05T02:56:35.8529626Z             {
2026-06-05T02:56:35.8530042Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T02:56:35.8530353Z               "line": 532
2026-06-05T02:56:35.8530634Z             },
2026-06-05T02:56:35.8530896Z             {
2026-06-05T02:56:35.8531267Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T02:56:35.8531540Z               "line": 334
2026-06-05T02:56:35.8532171Z             },
2026-06-05T02:56:35.8532426Z             {
2026-06-05T02:56:35.8532818Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T02:56:35.8533297Z               "line": 347
2026-06-05T02:56:35.8533598Z             },
2026-06-05T02:56:35.8533899Z             {
2026-06-05T02:56:35.8534329Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-05T02:56:35.8534615Z               "line": 242
2026-06-05T02:56:35.8534870Z             }
2026-06-05T02:56:35.8535154Z           ]
2026-06-05T02:56:35.8535449Z         }
2026-06-05T02:56:35.8535714Z       }
2026-06-05T02:56:35.8535962Z     },
2026-06-05T02:56:35.8536221Z     {
2026-06-05T02:56:35.8536508Z       "id": "REQ-UPD-3",
2026-06-05T02:56:35.8537069Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-05T02:56:35.8537352Z       "requiredStages": [
2026-06-05T02:56:35.8537606Z         "impl",
2026-06-05T02:56:35.8537870Z         "unit",
2026-06-05T02:56:35.8538127Z         "int"
2026-06-05T02:56:35.8538417Z       ],
2026-06-05T02:56:35.8538690Z       "stages": {
2026-06-05T02:56:35.8538954Z         "doc": {
2026-06-05T02:56:35.8539302Z           "complete": false,
2026-06-05T02:56:35.8539582Z           "evidence": []
2026-06-05T02:56:35.8539833Z         },
2026-06-05T02:56:35.8540087Z         "impl": {
2026-06-05T02:56:35.8540363Z           "complete": true,
2026-06-05T02:56:35.8540647Z           "evidence": [
2026-06-05T02:56:35.8540897Z             {
2026-06-05T02:56:35.8541273Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T02:56:35.8541543Z               "line": 26
2026-06-05T02:56:35.8541803Z             },
2026-06-05T02:56:35.8542050Z             {
2026-06-05T02:56:35.8542422Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T02:56:35.8542702Z               "line": 111
2026-06-05T02:56:35.8542941Z             },
2026-06-05T02:56:35.8543198Z             {
2026-06-05T02:56:35.8543576Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T02:56:35.8543883Z               "line": 221
2026-06-05T02:56:35.8544150Z             }
2026-06-05T02:56:35.8544417Z           ]
2026-06-05T02:56:35.8544667Z         },
2026-06-05T02:56:35.8544907Z         "int": {
2026-06-05T02:56:35.8545197Z           "complete": true,
2026-06-05T02:56:35.8545458Z           "evidence": [
2026-06-05T02:56:35.8545731Z             {
2026-06-05T02:56:35.8546146Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-05T02:56:35.8546424Z               "line": 23
2026-06-05T02:56:35.8546679Z             }
2026-06-05T02:56:35.8546933Z           ]
2026-06-05T02:56:35.8547211Z         },
2026-06-05T02:56:35.8547460Z         "unit": {
2026-06-05T02:56:35.8547746Z           "complete": true,
2026-06-05T02:56:35.8548010Z           "evidence": [
2026-06-05T02:56:35.8548264Z             {
2026-06-05T02:56:35.8548637Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T02:56:35.8548932Z               "line": 246
2026-06-05T02:56:35.8549268Z             },
2026-06-05T02:56:35.8549577Z             {
2026-06-05T02:56:35.8549979Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T02:56:35.8550279Z               "line": 270
2026-06-05T02:56:35.8550560Z             },
2026-06-05T02:56:35.8550838Z             {
2026-06-05T02:56:35.8551221Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T02:56:35.8551508Z               "line": 281
2026-06-05T02:56:35.8551766Z             },
2026-06-05T02:56:35.8552031Z             {
2026-06-05T02:56:35.8552405Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-05T02:56:35.8552695Z               "line": 294
2026-06-05T02:56:35.8560320Z             }
2026-06-05T02:56:35.8560846Z           ]
2026-06-05T02:56:35.8561262Z         }
2026-06-05T02:56:35.8561498Z       }
2026-06-05T02:56:35.8561741Z     },
2026-06-05T02:56:35.8561979Z     {
2026-06-05T02:56:35.8562280Z       "id": "REQ-UPD-4",
2026-06-05T02:56:35.8562876Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-05T02:56:35.8563643Z       "requiredStages": [
2026-06-05T02:56:35.8563905Z         "impl",
2026-06-05T02:56:35.8564360Z         "unit"
2026-06-05T02:56:35.8564611Z       ],
2026-06-05T02:56:35.8564855Z       "stages": {
2026-06-05T02:56:35.8565101Z         "doc": {
2026-06-05T02:56:35.8565385Z           "complete": false,
2026-06-05T02:56:35.8565644Z           "evidence": []
2026-06-05T02:56:35.8565898Z         },
2026-06-05T02:56:35.8566145Z         "impl": {
2026-06-05T02:56:35.8566421Z           "complete": true,
2026-06-05T02:56:35.8566677Z           "evidence": [
2026-06-05T02:56:35.8566929Z             {
2026-06-05T02:56:35.8567302Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-05T02:56:35.8567557Z               "line": 23
2026-06-05T02:56:35.8567809Z             },
2026-06-05T02:56:35.8568049Z             {
2026-06-05T02:56:35.8568427Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-05T02:56:35.8568676Z               "line": 56
2026-06-05T02:56:35.8568939Z             },
2026-06-05T02:56:35.8569425Z             {
2026-06-05T02:56:35.8569838Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-05T02:56:35.8570281Z               "line": 77
2026-06-05T02:56:35.8570528Z             },
2026-06-05T02:56:35.8570783Z             {
2026-06-05T02:56:35.8571159Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-05T02:56:35.8571451Z               "line": 179
2026-06-05T02:56:35.8571708Z             },
2026-06-05T02:56:35.8571951Z             {
2026-06-05T02:56:35.8572323Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-05T02:56:35.8572589Z               "line": 98
2026-06-05T02:56:35.8572849Z             },
2026-06-05T02:56:35.8573090Z             {
2026-06-05T02:56:35.8573455Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T02:56:35.8573734Z               "line": 167
2026-06-05T02:56:35.8573979Z             }
2026-06-05T02:56:35.8574235Z           ]
2026-06-05T02:56:35.8574481Z         },
2026-06-05T02:56:35.8574758Z         "int": {
2026-06-05T02:56:35.8575035Z           "complete": false,
2026-06-05T02:56:35.8575337Z           "evidence": []
2026-06-05T02:56:35.8575603Z         },
2026-06-05T02:56:35.8575874Z         "unit": {
2026-06-05T02:56:35.8576182Z           "complete": true,
2026-06-05T02:56:35.8576628Z           "evidence": [
2026-06-05T02:56:35.8576948Z             {
2026-06-05T02:56:35.8577388Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-05T02:56:35.8577763Z               "line": 322
2026-06-05T02:56:35.8578082Z             },
2026-06-05T02:56:35.8578408Z             {
2026-06-05T02:56:35.8578881Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-05T02:56:35.8579297Z               "line": 102
2026-06-05T02:56:35.8579635Z             },
2026-06-05T02:56:35.8579925Z             {
2026-06-05T02:56:35.8580407Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-05T02:56:35.8580798Z               "line": 117
2026-06-05T02:56:35.8581138Z             },
2026-06-05T02:56:35.8581464Z             {
2026-06-05T02:56:35.8581895Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-05T02:56:35.8582228Z               "line": 136
2026-06-05T02:56:35.8582495Z             },
2026-06-05T02:56:35.8582730Z             {
2026-06-05T02:56:35.8583079Z               "path": "crates/spt-store/src/info.rs",
2026-06-05T02:56:35.8583354Z               "line": 352
2026-06-05T02:56:35.8583625Z             },
2026-06-05T02:56:35.8583902Z             {
2026-06-05T02:56:35.8584330Z               "path": "crates/spt-store/src/perch.rs",
2026-06-05T02:56:35.8584691Z               "line": 495
2026-06-05T02:56:35.8585001Z             }
2026-06-05T02:56:35.8585311Z           ]
2026-06-05T02:56:35.8585626Z         }
2026-06-05T02:56:35.8585900Z       }
2026-06-05T02:56:35.8586153Z     },
2026-06-05T02:56:35.8586412Z     {
2026-06-05T02:56:35.8586700Z       "id": "REQ-UPD-5",
2026-06-05T02:56:35.8587160Z       "title": "spt-core ripple-updates registered adapters",
2026-06-05T02:56:35.8588261Z       "requiredStages": [
2026-06-05T02:56:35.8588524Z         "impl",
2026-06-05T02:56:35.8588984Z         "unit"
2026-06-05T02:56:35.8589318Z       ],
2026-06-05T02:56:35.8589623Z       "stages": {
2026-06-05T02:56:35.8589910Z         "doc": {
2026-06-05T02:56:35.8590213Z           "complete": false,
2026-06-05T02:56:35.8590510Z           "evidence": []
2026-06-05T02:56:35.8590964Z         },
2026-06-05T02:56:35.8591276Z         "impl": {
2026-06-05T02:56:35.8591558Z           "complete": true,
2026-06-05T02:56:35.8591859Z           "evidence": [
2026-06-05T02:56:35.8592127Z             {
2026-06-05T02:56:35.8592576Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T02:56:35.8592877Z               "line": 27
2026-06-05T02:56:35.8593141Z             },
2026-06-05T02:56:35.8593399Z             {
2026-06-05T02:56:35.8593806Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T02:56:35.8594076Z               "line": 82
2026-06-05T02:56:35.8594353Z             },
2026-06-05T02:56:35.8594592Z             {
2026-06-05T02:56:35.8594993Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T02:56:35.8595281Z               "line": 134
2026-06-05T02:56:35.8595555Z             },
2026-06-05T02:56:35.8595802Z             {
2026-06-05T02:56:35.8596179Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T02:56:35.8596456Z               "line": 260
2026-06-05T02:56:35.8596705Z             },
2026-06-05T02:56:35.8596959Z             {
2026-06-05T02:56:35.8597314Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-05T02:56:35.8597592Z               "line": 288
2026-06-05T02:56:35.8597843Z             }
2026-06-05T02:56:35.8598094Z           ]
2026-06-05T02:56:35.8598344Z         },
2026-06-05T02:56:35.8598582Z         "int": {
2026-06-05T02:56:35.8598858Z           "complete": false,
2026-06-05T02:56:35.8599121Z           "evidence": []
2026-06-05T02:56:35.8599437Z         },
2026-06-05T02:56:35.8599703Z         "unit": {
2026-06-05T02:56:35.8599987Z           "complete": true,
2026-06-05T02:56:35.8600287Z           "evidence": [
2026-06-05T02:56:35.8600534Z             {
2026-06-05T02:56:35.8600981Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T02:56:35.8601268Z               "line": 216
2026-06-05T02:56:35.8601530Z             },
2026-06-05T02:56:35.8601765Z             {
2026-06-05T02:56:35.8602164Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T02:56:35.8602427Z               "line": 230
2026-06-05T02:56:35.8602670Z             },
2026-06-05T02:56:35.8602912Z             {
2026-06-05T02:56:35.8603308Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T02:56:35.8603633Z               "line": 244
2026-06-05T02:56:35.8603900Z             },
2026-06-05T02:56:35.8604157Z             {
2026-06-05T02:56:35.8604572Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T02:56:35.8604867Z               "line": 258
2026-06-05T02:56:35.8605187Z             },
2026-06-05T02:56:35.8605493Z             {
2026-06-05T02:56:35.8606012Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-05T02:56:35.8606338Z               "line": 292
2026-06-05T02:56:35.8606607Z             },
2026-06-05T02:56:35.8606869Z             {
2026-06-05T02:56:35.8607244Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-05T02:56:35.8607511Z               "line": 740
2026-06-05T02:56:35.8607751Z             }
2026-06-05T02:56:35.8608003Z           ]
2026-06-05T02:56:35.8608243Z         }
2026-06-05T02:56:35.8608489Z       }
2026-06-05T02:56:35.8608966Z     }
2026-06-05T02:56:35.8609259Z   ],
2026-06-05T02:56:35.8609552Z   "findings": []
2026-06-05T02:56:35.8609945Z }
